我正在探索TPL,我想知道以下情况是否可行:
我想创建一个嵌套结构,其中包含单个父级和多个“子”任务。
结构类似于:
Parent Task
|
|-- Child Task A
|-- Child Task B
|-- ...
我希望父任务等待所有子任务完成,并访问其结果(以确定其结果)。
我找不到有关嵌套任务和从父级访问结果的任何有价值的信息。
答案 0 :(得分:1)
一种方法是使用父任务中的静态方法Task.WaitAll
等待所有子任务完成,然后检查他们各自的Status
- 和Result
- 属性。
如果在完成所有子任务之前根本没有完成父任务的工作,则可以重新构建它,并在完成所有子任务后使用TaskFactory.ContinueWhenAll
启动新任务。然后,这可以访问单个结果。