正确使用Concurrency :: task_group的用例

时间:2013-10-31 14:27:58

标签: windows visual-studio-2010 concurrency task

文档说:“task_group类代表并行工作的集合,可以等待或取消。”

1)。我是否认为任务需要在逻辑上相关(但要分解),理想情况下你需要在其他地方等待它们来整理结果?

  1. IOW,是否可以使用task_group来调度基本上彼此无关的异步任务(作为类比:有点像将某些处理活动的每次迭代转储到队列中并将其拾取以供另一个处理执行线)?他们每个人都只是执行并消亡,因此我甚至不必等待或取消他们。
  2. (我知道如果我不取消或等待不完整的任务,task_group dtor将抛出异常。让我们暂时忘记这一点,只关注我是否正在使用它以达到正确的目的)。

1 个答案:

答案 0 :(得分:-1)

This page对任务组有一个解释 - 不错。

简而言之,
当你想要将并行工作分解成更小的部分然后等待那些较小的部分完成时,使用任务组(concurrency::task_group类或concurrency::parallel_invoke算法)。