首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Task.WhenAll()的.NET 4等效项

Task.WhenAll()的.NET 4等效项
EN

Stack Overflow用户
提问于 2012-07-17 05:07:47
回答 3查看 6.7K关注 0票数 16

在.NET 4中,是否有与.NET 4.5的System.Threading.Tasks.Task.WhenAll()等效的功能

目标是将多个异步任务包装成一个单独的任务,该任务在所有组成任务完成时完成。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-17 05:41:54

我认为最接近.Net 4.0内置的是ContinueWhenAll()。您可以将continuationAction设置为简单的tasks => tasks并使用返回的Task

出于性能方面的原因,您可能希望将其与TaskContinuationOptions.ExecuteSynchronously一起使用。

票数 17
EN

Stack Overflow用户

发布于 2012-08-19 20:28:31

在.NET Framework4.0中,对于Visual Studio2010,WhenAll和WhenAny可以与已安装的AsyncCTP一起使用;对于Visual Studio2012,可以与Async Targeting Pack一起使用。

然后在TaskEx类型上提供WhenAll和WhenAny方法。

票数 27
EN

Stack Overflow用户

发布于 2012-07-17 05:18:50

尝试在另一个任务中等待Task.WaitAll()。使用LINQ扩展方法ToArrayIEnumerable<Task>转换为Task[]

代码语言:javascript
复制
Task WhenAll(IEnumerable<Task> tasks)
{
    return Task.Factory.StartNew(() => Task.WaitAll(tasks.ToArray()));
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11512590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档