122 我在当前项目中使用TPL,并使用Parallel.Foreach旋转许多线程。Task类包含Wait(),以等待任务完成。这样,我如何等待Parallel.ForEach完成然后执行下一条语句? c# task-parallel-library — VJAI source
191 您不必做任何特殊的事情,Parallel.Foreach()将等到其所有分支任务完成。在调用线程中,您可以将其视为单个同步语句,例如将其包装在try / catch中。 — 亨克·霍尔特曼 source 10 在某些情况下,“ Parallel.Foreach()将等待直到所有分支任务完成”,例如(内部的异步任务):Parallel.ForEach(groupedUnreadMessages,async unreadMsgCollection => {/ * works * /}); — 胡博 这里是一个计算器的其他问题:stackoverflow.com/questions/11564506/... — 胡波 4 这个答案来自async / await之前的2011年。但是就像我说的那样,在ForEach中生成线程不是一个好主意。也不是异步动作。您发布的链接提供了良好的信息和解决方案。 — 亨克·霍尔特曼 1 您可以扩展“在ForEach内部生成线程不是一个好主意”吗?那是“除非您确保返回之前等待”? — Gianthra