tbb 中的 parallel_invoke 相同的方法
Posted
技术标签:
【中文标题】tbb 中的 parallel_invoke 相同的方法【英文标题】:parallel_invoke same method in tbb 【发布时间】:2012-04-09 15:15:37 【问题描述】:我可以使用parallel_invoke多次执行同一个函数吗
就像我有遍历字符串的函数扫描一样,我可以让相同的多个任务对其进行操作。
【问题讨论】:
也许你可以添加一些伪代码来描述你想要做什么? 【参考方案1】:是的,你可以。
您也可以使用 task_group:
tbb::task_group g;
g.run(foo);
g.run(foo);
g.wait();
如果您想像拥有 CPU 内核一样频繁地运行它,您可以这样做:
tbb::task_group g;
for(auto i = 0; i != tbb::tbb_thread::hardware_concurrency(); ++i)
g.run(foo);
g.wait();
【讨论】:
我想问你需要#include是的,没有什么可以阻止您,但您有责任确定这些操作是否会导致竞争条件或并发问题,从而破坏您的程序。
【讨论】:
以上是关于tbb 中的 parallel_invoke 相同的方法的主要内容,如果未能解决你的问题,请参考以下文章