1.只有一个任务:
var a= await MethodTask(); //执行时间10s;
Console.WriteLine($"Result:{a});
与
var t= MethodTask(); //执行时间10s
Console.WriteLine($"Result:{ await t});
执行时间都是10s
2.有一个以上的任务:
var a= await MethodTask1(); //执行时间10s
var b= await MethodTask2(); //执行时间15s
Console.WriteLine($"Result:{a}, {b}");
执行花费10s+15s=25s
task t1= MethodTask1(); //执行时间10s
task t2= MethodTask2(); //执行时间15s
Console.WriteLine($"Result:{ await t1}, { await t2}");
执行花费max(10s,15s)=15s
原因:
所有await xxxAsync()都等价于
var t = xxxAsync();
await t;