等待任务和等待Task.WhenAll之间的区别

Sha*_*ler 0 c# asynchronous task-parallel-library async-await

使用await多个等待任务与等待所有任务完成时有什么区别.我的理解是方案2在性能方面更好,因为asyncTask1和asyncTask2都是并行执行的.

方案1:

async Task Task()
{
   await asyncTask1();
   await asyncTask2();
}
Run Code Online (Sandbox Code Playgroud)

方案2:

async Task Task()
{
    t1 = asyncTask1();
    t2 =  asyncTask2();
    await Task.WhenAll(createWorkflowtask, getTaskWorkflowTask);
}
Run Code Online (Sandbox Code Playgroud)

小智 6

在方案1中,任务按顺序运行(asyncTask1必须在asyncTask2启动之前完成),而在方案2中,两个任务可以并行运行.