我有生成任务的循环。
代码:
Task task = null;
foreach (Entity a in AAAA)
{
// create the task
task = new Task(() => {
myMethod(a);
}, Token, TaskCreationOptions.None);
task.Start();
}
如你所见,在每次迭代中任务对象都有新的初始化(..new Task(() =>..) 我怎么知道所有任务都已完成?
最佳答案
如果您将其替换为
Parallel.ForEach(..., () => myMethod(a), ...)
然后您会在 ForEach 结束时自动等待所有任务。
也可能从单独的任务中运行 ForEach。
关于C# TPL怎么知道所有的任务都完成了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5067412/