2010-11-29 159 views
3

我还有一个很常见的任务。我已经解决了这个问题,但现在我正在寻找更多“优雅”的方式 - 您可以提供一些输入吗?异步任务超时?

现状:
我有我想运行“半异步”一个方法。换句话说:启动它并等待给定的时间x。如果方法还没有完成(“超时”),我想用一些清理过程继续我的代码。

解到目前为止:

  1. 使用一个的AutoResetEvent(或 ManualResetEvent的)使用 .WaitOne一个 annonymus方法相结合(X)。
  2. 使用线程/ BackgroundWorker 结合计时器。如果定时器 在线程停止之前处理其处理程序,则该超时时间已到。

这两个appraochs工作正常,但我想有4.0更好的方法。

对此提出建议?

+0

可能重复的[异步等待任务以超时完成](http://stackoverflow.com/questions/4238345/异步等待换taskt到完成,用超时) – i3arnon 2014-09-08 22:42:47

回答