Search code examples
c#.net-4.0task-parallel-library.net-4.5async-ctp

.NET 4 equivalent of Task.WhenAll()


In .NET 4, is there any functional equivalent to .NET 4.5's System.Threading.Tasks.Task.WhenAll()?

The goal is to wrap up multiple async tasks into a single one that is completed when all of its constituent tasks are done.


Solution

  • I think the closest thing built-in in .Net 4.0 is ContinueWhenAll(). You can make the continuationAction a simple tasks => tasks and use the returned Task.

    For performance reasons, you might want to use it with TaskContinuationOptions.ExecuteSynchronously.