如果可能,Task.WhenAll 会同时执行任务吗?

Will Task.WhenAll perform tasks simultaneously if possible?

我的意思是如果我有两个任务 async Task<Data1> GetData1Async()async Task<Data2> GetData2Async() 并且以这种方式做某事:

var getTask1 = GetData1Async();
var getTask2 = GetData2Async();

await Task.WhenAll(getTask1, getTask2);

var result1 = getTask1.Result;
var result2 = getTask2.Result;

GetData1AsyncGetData2Async 是否有机会并行工作?

Task.WhenAll只等待两个任务,不运行他们。

如果这两个方法 GetDataXAsync 是真正异步的,并且在调用 Task.WhenAll 时它们还没有完成,那么是的,它们将并行执行。