parallel_invoke を使用して同じ関数を複数回実行できますか
文字列をトラバースする関数スキャンがあるように、同じ複数のタスクを実行できます。
parallel_invoke を使用して同じ関数を複数回実行できますか
文字列をトラバースする関数スキャンがあるように、同じ複数のタスクを実行できます。
はい、できます。
あるいは、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();
はい、あなたを止めるものは何もありませんが、それらのアクションが競合状態やプログラムを破壊する同時実行性の問題を引き起こすかどうかを判断するのはあなたの責任です。