What is the difference between Task.WaitAll()
and Task.WhenAll()
from the Async CTP ?
Can you provide some sample code to illustrate the different use cases ?
Task.WaitAll
blocks the current thread until everything has completed.
Task.WhenAll
returns a task which represents the action of waiting until everything has completed.
That means that from an async method, you can use:
await Task.WhenAll(tasks);
... which means your method will continue when everything's completed, but you won't tie up a thread to just hang around until that time.