【问题标题】:Correct use-case for Concurrency::task_groupConcurrency::task_group 的正确用例
【发布时间】:2013-10-31 14:27:58
【问题描述】:

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

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

  1. IOW,是否可以使用 task_group 仅调度基本上彼此没有关系的异步任务(作为类比:有点像将某些处理活动的每次迭代转储到队列中并将其拾取以供另一个执行线)?它们中的每一个都会执行并消失,因此我什至不必等待或取消它们。

(我确实知道,如果我不取消或等待未完成的任务,task_group dtor 会抛出异常。让我们暂时忘记这一点,只关注我是否将它用于正确的目的)。

【问题讨论】:

    标签: windows visual-studio-2010 concurrency task


    【解决方案1】:

    This page 有一个关于任务组的解释 - 不错。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-19
      • 2016-02-19
      • 2019-06-17
      • 1970-01-01
      • 2015-07-14
      • 2012-11-02
      • 2015-09-07
      相关资源
      最近更新 更多