Roc*_*art 1 c# multithreading task task-parallel-library
我知道Task.WaitAll(Task1,Task2)等待所有提供的Task对象完成执行.
什么是Task.WhenAll用于什么?
创建将在所有提供的任务完成后完成的任务.
什么是真实世界场景,曾经可以应用Task.WhenAll()
WaitAll阻塞调用线程,同时WhenAll提供一个promise任务,您可以使用它来异步等待使用async-await而不会在此期间浪费线程:
async Task ProcessAsync()
{
await Task.WhenAll(DownloadAsync(), IntializeParserAsync(),...);
}
Run Code Online (Sandbox Code Playgroud)
您应该WhenAll在不必阻塞线程的情况下使用您想要等待的地方,从而提高可伸缩性.(阅读:几乎可以在任何地方)
| 归档时间: |
|
| 查看次数: |
720 次 |
| 最近记录: |