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.
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
.