我在當前項目中使用TPL並使用Parallel.Foreach來旋轉很多線程。 Task類包含Wait()以等待任務完成。那樣,我該如何等待Parallel.ForEach完成,然後再執行下一個語句?我該如何等待Parallel.ForEach完成
78
A
回答
132
您不必做任何特殊的事情,Parallel.Foreach()
將等待,直到其所有分支任務完成。在調用線程中,您可以將其視爲單個同步語句,並將其封裝在try/catch中。
11
相關問題
- 1. 我該如何等待TTimer完成?
- 2. 如何等待CCCallBlock完成?
- 3. 如何等待SwingWorker完成?
- 4. 如何等待完成dataTaskWithRequest?
- 5. 如何等待sendBroadcast完成
- 6. 如何等待BackgroundWorker完成?
- 7. 如何等待Workbook.Close完成?
- 8. 如何等待ThreadPoolExecutor完成
- 9. 如何等待onActivityResult完成?
- 10. NSURLConnection - 如何等待完成
- 11. 我該如何等待完成另一課的asynctask?
- 12. Task.StartNew Parallel.ForEach不等待
- 13. 等待完成
- 14. 等待完成
- 15. servlet應該等待任務完成
- 16. 等待webworker完成
- 17. 等待NSURLSessionTask完成
- 18. jquery,等待完成
- 19. 等待IDBCursor.onsuccess完成
- 20. 等待ExecWB完成
- 21. 等待GUI完成
- 22. WebRequest.GetResponse等待完成
- 23. 等待BackgroundWorker完成?
- 24. 等待webrequest完成
- 25. 等待AsyncTask完成
- 26. delayed_job等待完成
- 27. 等待UIView完成
- 28. 等待shutil.copyfile完成
- 29. 等待SwingWorker完成
- 30. 等待$ .post完成
「Parallel.Foreach()將等到所有分支任務完成」,它可以在某些情況下混淆,如(異步任務內):Parallel.ForEach(groupedUnreadMessages, async unreadMsgCollection => {/ * works * /}); –
這裏是其他問題在stackoverflow:http://stackoverflow.com/questions/11564506/nesting-await-in-parallell-foreach –
這個答案是從2011年,在async/await之前。但正如我所說的,在ForEach內部產生線程並不是一個好主意。也不是一個異步行動。您發佈的鏈接提供了很好的信息和解決方案。 –