を増やします我々は(MainTaskがTBB :: Taskクラスから派生される)次のコードを使用産卵したい:私たちは私たちのコードを実行するとTBBのスレッドプールが突然私たちは、これはTBBのスレッドプールを初期化するために、次のTBBコードを使用して行われ、いくつかの処理を実行するタスクを起動するためにTBBを利用したコードの一部を持っている
task = new (tbb::task::allocate_root()) MainTask(theAction, theOutputData);
tbb::task::enqueue(*task);
我々はの数と同じであるスレッドプールで始めますコア(この場合は8スレッド)を期待通りに実行しますが、プログラムが実行され、上で説明したように、いくつかのランダムなポイントでのスレッドの数が突然増加します。プログラム実行の40分後にスレッド数が8から15に増加します。
どうしてですか? TBBは、ワーカースレッドの数をコアの数と同じに保つべきではありませんか?
スレッドがTBBの外部に作成されている可能性はありますか?スレッドはシステムリソースであり、プログラムの他の部分でも作成できます。 – lcs
''タスク 'を'新しく '編集した場合、' 'それを' '削除しますか? – kangshiyin