2014-01-24 95 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

相關問題