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