當TaskFactory.ContinueWhenAny(Task [],Action(Task))被調用時,剩下的任務會發生什麼?剩下的任務是否會被取消或者在特定的任務完成後會在後臺運行?如果他們在後臺運行,我們如何取消他們?當ContinueWhenAny被調用時,剩下的任務會發生什麼?
2
A
回答
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
相關問題
- 1. 當PowerManager.goToSleep被調用時,Android服務會發生什麼?
- 2. 當一個進程/任務被終止時會發生什麼
- 3. 當alloc或allocWithZone被調用時會發生什麼?
- 4. 當popToRootViewController被調用時會發生什麼?
- 5. 當condition_variable :: wait()被調用時,解鎖unique_lock會發生什麼?
- 6. 當onPause被調用時數據會發生什麼活動
- 7. 當FlurryWP8SDK.Api.EndTimedEvent未被調用時會發生什麼?
- 8. 如果/當DllImport被多次調用時會發生什麼?
- 9. 取消任務時會發生什麼?
- 10. 當調用ajax調用時會發生什麼?
- 11. 當Qt應用程序的quit()方法被調用時,QDialogs會發生什麼?
- 12. 當一個奇數寬度的div被拆分爲50%/ 50%時剩下的1px會發生什麼?
- 13. 當一個事件從一個任務中被觸發時會發生什麼?它會有單獨的線程?
- 14. 使用Task.Factory.StartNew時完成的任務會發生什麼
- 15. 當Android應用程序「被殺」時會發生什麼
- 16. 當應用程序被刪除時PendingIntents會發生什麼?
- 17. 當Azure Logic App被禁用時會發生什麼?
- 18. 調用setCancelsTouchesInView時會發生什麼?
- 19. 在WPF/Prism中,當DelegateCommand.RaiseCanExecuteChanged被觸發時,CompositeCommand會發生什麼?
- 20. 當我們任意使用==時會發生什麼?
- 21. 當你調用新的Object()時會發生什麼?
- 22. 當你調用UItableview的重裝兩次時會發生什麼
- 23. C++ boost:asio當會話類被刪除時服務器類會發生什麼
- 24. 當我調用UnitySendMessage並且遊戲對象被銷燬時會發生什麼?
- 25. 當perform_async被調用但sidekiq沒有運行時會發生什麼?
- 26. 當一個屬性沒有被alloc + init'ed調用setter/getter時會發生什麼?
- 27. 當包含lambda的類型被分配時會發生什麼?
- 28. 當APNS中的通知被「丟棄」時會發生什麼?
- 29. 當它被克隆時,關閉的delagate會發生什麼?
- 30. 當我使用PHP :: SOAP調用Web服務方法時會發生什麼?
甚至無法取消一般的「任務」。只有它合作。 – usr