Я тестирую async
, и я нашел эту ситуацию, которую я не могу понять:
var watch = Stopwatch.StartNew();
var t1 = Task.Factory.StartNew(async () =>
{
await Task.Delay(2000);
return 2;
});
var t2 = Task.Factory.StartNew(() =>
{
Task.Delay(1000);
return 1;
});
await Task.WhenAll(t1, t2);
var result = watch.ElapsedMilliseconds;
Я хотел бы понять, почему результат всегда равен 0! Почему не 1000, 2000 или сумма двух задач 3000? Почему Task.WhenAll
ждать завершения задач?