I have a method that produces an array of tasks (See my previous post about threading) and at the end of this method I have the following options:
await Task
await will return to the caller, and resume method execution when the awaited task completes.
await
WhenAll will create a task **When All* all the tasks are complete.
WhenAll
WaitAll will block the creation thread (main thread) until all the tasks are complete.
WaitAll