【发布时间】:2015-10-29 09:03:45
【问题描述】:
我有一个使用 Task.WhenAll 的相当简单的应用程序。到目前为止,我面临的问题是我不知道是应该自己启动子任务还是让WhenAll 酌情启动它们。
在线示例显示使用框架方法中的任务,我不清楚返回的任务是否已经开始。但是,我已经使用 Action 创建了自己的任务,所以这是我必须解决的一个细节。
当我使用 Task.WhenAll 时,我应该直接启动组成任务,还是应该让 Task.WhenAll 处理它以获得乐趣、利润和提高执行速度?
为了更有趣,子任务包含大量阻塞 I/O。
【问题讨论】:
-
请发布一些代码来说明您是如何构建任务的。
Task.WhenAll不启动任务。一般模式是返回Task的方法,返回 hotTask。 IE。一个已经在运行的。Task.Run是这样工作的。 -
Task.WhenAll的重点不是启动或控制任务的执行顺序。它是提供一个聚合点;表示完成某些组成任务(及其结果的集合)的任务。
标签: c# task-parallel-library task