【发布时间】:2013-12-06 16:53:08
【问题描述】:
如何从TBBparallel_for 获取进度信息?
tbb::parallel_for(tbb::blocked_range<size_t>(0,1000),classA);
【问题讨论】:
-
您可能正在寻找 TBB 库中的流程图,而不仅仅是一个循环...
-
我会扭转这种局面...你如何从串行 for 循环中获得进展?
-
@Rick 提出正确的问题,如果使用串行循环,您通过简单/串行回调函数从唯一的 1 个主线程发送进度...您也可以这样做,但附加线程 ID (sender) ,根据他们拥有的计划数量作业计算每个线程的进度(使用静态调度会更容易:) 并在回调中执行“减少”(进度 += 1 个线程的进度/线程总数) !!!但是注意进度必须受到“保护”(共享)...
-
这就是我的观点。在您的示例 concurrent_unordered_map 中,具有线程 id 键和保存计数的值将运行得非常好。