Task.WhenAll是否可以同时执行任务?

时间:2018-12-28 12:04:13

标签: c# async-await task-parallel-library

我的意思是,如果我有两个任务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是否有可能并行工作?

1 个答案:

答案 0 :(得分:2)

Task.WhenAll仅等待两个任务,不运行它们。

如果两个方法GetDataXAsync确实是异步的,并且在调用Task.WhenAll时它们尚未完成,那么是的,它们将并行执行。