我在当前项目中使用TPL并使用Parallel.Foreach来旋转很多线程。 Task类包含Wait()以等待任务完成。那样,我该如何等待Parallel.ForEach完成,然后再执行下一个语句?我该如何等待Parallel.ForEach完成
78
A
回答
132
您不必做任何特殊的事情,Parallel.Foreach()
将等待,直到其所有分支任务完成。在调用线程中,您可以将其视为单个同步语句,并将其封装在try/catch中。
11
相关问题
- 1. 我该如何等待TTimer完成?
- 2. 如何等待SwingWorker完成?
- 3. 如何等待ThreadPoolExecutor完成
- 4. 如何等待Workbook.Close完成?
- 5. 如何等待完成dataTaskWithRequest?
- 6. 如何等待sendBroadcast完成
- 7. NSURLConnection - 如何等待完成
- 8. 如何等待onActivityResult完成?
- 9. 等待完成
- 10. 等待完成
- 11. 等待BackgroundWorker完成?
- 12. 等待$ .post完成
- 13. 等待NSURLSessionTask完成
- 14. jquery,等待完成
- 15. 等待webrequest完成
- 16. delayed_job等待完成
- 17. QNetworkReply等待完成
- 18. 等待AsyncTask完成
- 19. 等待webworker完成
- 20. 等待SwingWorker完成
- 21. 嵌套等待在Parallel.ForEach
- 22. 如何等待异步完成
- 23. 如何等待axWebBrowser完成加载?
- 24. 如何等待BackgroundWorker的完成?
- 25. Amazon ElasticTranscoder,如何等待工作完成?
- 26. 如何等待location.href在JavaScript中完成?
- 27. 如何等待,直到System.Diagnostics.Process.Start完成
- 28. 如何等待异步完成 - NodeJs
- 29. 如何等待SSIS包完成
- 30. 如何让jQuery等待效果完成?
“Parallel.Foreach()将等到所有分支任务完成”,它可以在某些情况下混淆,如(异步任务内):Parallel.ForEach(groupedUnreadMessages, async unreadMsgCollection => {/ * works * /}); –
这里是其他问题在stackoverflow:http://stackoverflow.com/questions/11564506/nesting-await-in-parallell-foreach –
这个答案是从2011年,在async/await之前。但正如我所说的,在ForEach内部产生线程并不是一个好主意。也不是一个异步行动。您发布的链接提供了很好的信息和解决方案。 –