ThreadPoolExecutor/ScheduledThreadPoolExecutorに渡される推奨されるcorePoolSizeは何ですか?ThreadPoolExecutor/ScheduledThreadPoolExecutorに渡される推奨されるcorePoolSizeは何ですか?
Runtime.getRuntime().availableProcessors()
? Runtime.getRuntime().availableProcessors() * 2
?
CPUのコア(すべてのコア)を100%利用することができますが、できるだけ早く終了し、あまりペナルティがないようにできるだけ小さなスレッドとして使用したいと思いますコンテキスト切り替え時に
一方、ネットワークの待機のように、スレッドの中には常にCPUを使用しないものがあります。その場合は、新しいスレッドを生成してすべてのコアをビジー状態に保ちたいと思います。
一時的なCPUの過剰使用があればOKです。使用量が少なく、処理されないタスクよりも優れています。
このスレッドロードバランスはどのように達成できますか?ありがとう。
私は動的にパフォーマンスの問題を引き起こすことなくスレッドを生成する方法を見つけようとしています。静的な解決策のために、私は単に番号を設定することができます。関連:http://stackoverflow.com/questions/1718465/optimal-number-of-threads-per-core –