【发布时间】:2015-03-11 22:47:13
【问题描述】:
我在两个任务之间有时间间隔,如下所示。如果 timeoutTask 先完成,我想取消(或杀死)workerTask,有什么办法吗?
var timeoutTask = Task.Delay(1500);
var workerTask = Task.Run(() => { ThirdPartLibraryAPI.Run() });
var taskThatCompletedFirst = await Task.WhenAny(timeoutTask, workerTask);
//stuff to do on timeout can be done here
if (taskThatCompletedFirst == timeoutTask)
{
// At this point workerTask is still running.
// how can i cancel or kill this task
}
【问题讨论】:
标签: c# .net-4.0 timeout task cancellation