I have three methods that I call to do some number crunching that are as follows
results.LeftFront.CalcAi(); results.RightFront.CalcAi(); results.RearSus
var task1 = SomeLongRunningTask(); var task2 = SomeOtherLongRunningTask(); await Task.WhenAll(task1, task2);
The benefit of this over Task.WaitAll is that this will release the thread and await the completion of the two tasks.