【发布时间】:2013-07-10 20:33:26
【问题描述】:
我有一个长时间运行的库方法(第 3 方),它返回一个 System.Threading.Tasks.Task。如何告诉它在后台运行并继续执行我的代码?我还想在成功完成或出现异常后获得回调。
【问题讨论】:
-
你是说方法在当前线程上运行,然后返回一个完成的
Task?那会很奇怪。
标签: .net task-parallel-library
我有一个长时间运行的库方法(第 3 方),它返回一个 System.Threading.Tasks.Task。如何告诉它在后台运行并继续执行我的代码?我还想在成功完成或出现异常后获得回调。
【问题讨论】:
Task?那会很奇怪。
标签: .net task-parallel-library
如果它返回一个Task,那么它几乎肯定确实在后台运行。 Task 的一个实例代表异步运行的某些东西的完成状态;这就是 Task 类的用途。
Task 让您有机会请求回电。只需致电.ContinueWith(your callback)。
ContinueWith 有几个重载,可让您根据需要指定选项,例如“仅在任务成功完成时调用我的回调”或“仅在任务因异常而失败时调用我的回调”。
【讨论】: