var task1 = SomeLongRunningTask(); var task2 = SomeOtherLongRunningTask(); await Task.WhenAll(task1, task2);
Преимущество этого над Task.WaitAll заключается в том, что это освободит поток и ждет завершения двух задач.