标签: c# .net multithreading task-parallel-library wait
有什么区别:
foreach(Task task in someTasks) { task.Wait(); }
和
Task.WaitAll(sometasks);
从本质上讲,从最终结果来看,他们应该做同样的事情吗?
答案 0 :(得分:5)
区别在于异常处理。如果task.Wait();抛出,则退出foreach循环。 WaitAll将捕获所有异常并抛出包含它们的AggregateException。
task.Wait();
foreach
WaitAll
AggregateException
另请参阅:Task.WaitAll and Exceptions