两个人的第二个 Await 呼叫会等待第一个完成吗?

Sco*_*ott 0 c# async-await

如果我有两个正在等待的任务:

await FirstTask();
await SecondTask();
Run Code Online (Sandbox Code Playgroud)

是否只有在 FirstTask 完成后才开始执行 SecondTask?

谢谢

Chr*_*cle 6

是的,就是这样。

await FirstTask();
await SecondTask(); // doesn't start until FirstTask() finishes
Run Code Online (Sandbox Code Playgroud)

如果你想让它们并行运行,并等待两者,你可以使用 Task.WhenAll

var task1 = FirstTask();
var task2 = SecondTask(); // starts right away, even if FirstTask is still busy
await Task.WhenAll(task1, task2);
Run Code Online (Sandbox Code Playgroud)