私はC++で非常に最初の単純なマルチスレッドジョブキューを実装しましたが、ハードウェアスレッドごとに1つのワーカースレッドを使用することをお勧めします(私の場合は4となります)。基本的に私のアプリは、今すぐインターネットからたくさんの画像を読み込むだけです。私はワーカースレッドの数を4の代わりに8または16に増やしても大きなスピードアップを見ます。C++ Jobqueue:ワーカースレッドの数について経験則がありますか?
このようなジョブキューに使用するスレッド数の一般的なルールはありますか?私が推測しているのは、各フレームで新しいジョブを作成していた場合には4がgreate numberになり、ワーカースレッドは各フレームで一定のワークロードを持ちますが、それよりもスレッド数が多いとスピードアップにつながります。それでも、さまざまなシナリオで適切な数の経験則がありますか?
おかげ
私はOSX(boost :: threadを使用しています)と言っていることを忘れてしまいました。 – moka