2014-01-24 139 views

回答

3

其余任务正常运行。当第一个Task完成时触发此延续。

取消余下的任务是这样的:

var tknSource = new CancellationTokenSource(); 
List<Task> tasks = new List<Task>(); 

for(int i = 0; i < 50; i++) 
{ 
    tasks.Add(Task.Run(DoWork(tknSource.Token))); //pass the token to the tasks 
} 

TaskFactory.ContinueWhenAny(tasks.ToArray(), p => tknSource.Cancel()); //requests a cenllation on tasks that are still running 

请注意,您只能要求取消。 DoWork必须在令牌更改状态时观察并采取行动。

Check out the MSDN article on Task Cancellation for more details

+0

我们如何取消剩余的任务? – user3233361

+0

@ user3233361请参阅我的编辑。 – Gusdor

相关问题