2

parallel_invoke を使用して同じ関数を複数回実行できますか

文字列をトラバースする関数スキャンがあるように、同じ複数のタスクを実行できます。

4

2 に答える 2

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();
于 2012-04-09T15:18:38.037 に答える
0

はい、あなたを止めるものは何もありませんが、それらのアクションが競合状態やプログラムを破壊する同時実行性の問題を引き起こすかどうかを判断するのはあなたの責任です。

于 2012-04-09T15:18:54.950 に答える