从父任务访问嵌套任务的结果

时间:2012-05-21 20:04:54

标签: c# .net task-parallel-library task

我正在探索TPL,我想知道以下情况是否可行:

我想创建一个嵌套结构,其中包含单个父级和多个“子”任务。

结构类似于:

Parent Task
    |
    |-- Child Task A
    |-- Child Task B 
    |-- ...

我希望父任务等待所有子任务完成,并访问其结果(以确定其结果)。

我找不到有关嵌套任务和从父级访问结果的任何有价值的信息。

1 个答案:

答案 0 :(得分:1)

一种方法是使用父任务中的静态方法Task.WaitAll等待所有子任务完成,然后检查他们各自的Status - 和Result - 属性。

如果在完成所有子任务之前根本没有完成父任务的工作,则可以重新构建它,并在完成所有子任务后使用TaskFactory.ContinueWhenAll启动新任务。然后,这可以访问单个结果。