我可以使用parallel_invoke多次执行相同的功能
就像我有遍历字符串的函数扫描一样,我可以对它进行相同的多个任务。
答案 0 :(得分:0)
是的,你可以。
或者您可以使用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();
答案 1 :(得分:0)
是的,没有什么可以阻止你,但是你有责任确定这些行为是否会导致竞争条件或并发问题,这将会破坏你的计划。