Executors.newFixedThreadPool(n) に割り当てる適切な値は何ですか? これを行う式はありますか?
1 に答える
0
場合によります。実行しようとしているタスクのほとんどが CPU バウンドである場合 (つまり、タスクが 1 つの CPU コアを 100% 継続的に使用できる場合)、コア数よりも大きなスレッド プールから多くを得る可能性は低いです。あなたのマシンで。ただし、タスクが I/O のためにブロックされた時間のほとんどを費やす場合は、プールを大きくすると、利用可能な CPU 容量をより有効に活用できます。
簡単な答えはありません。さまざまなプール サイズでアプリをプロファイリングして、使用しているタスクの特定の組み合わせのスイート スポットを見つける必要があります。
于 2013-07-12T08:06:43.063 に答える