Скажем, у меня есть два асинхронных метода
public async static Task RunAsync1()
{
await Task.Delay(2000);
await Task.Delay(2000);
}
и
public async static Task RunAsync2()
{
var t1 = Task.Delay(2000);
var t2 = Task.Delay(2000);
await t1;
await t2;
}
Затем я использую его как
public static void M()
{
RunAsync1().GetAwaiter().GetResult();
RunAsync2().GetAwaiter().GetResult();
}
В результате RunAsync1
будет работать 4сек, но RunAsync2
только 2сек
Может ли кто-нибудь объяснить, почему? Методы почти одинаковы. В чем разница?