我的意思是,如果我有两个任务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;
GetData1Async
和GetData2Async
是否有可能并行工作?
答案 0 :(得分:2)
Task.WhenAll
仅等待两个任务,不运行它们。
如果两个方法GetDataXAsync
确实是异步的,并且在调用Task.WhenAll
时它们尚未完成,那么是的,它们将并行执行。