スレッドプールを使用してタスクを実行しています。ほとんどの場合、CPUの数より1大きいサイズのI/Oのビットに基づくCPUです。
Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors() + 1)
すべてのタスクをこのエグゼキュータに送信し、他にほとんど何もしない単純なプログラムの場合、OSがCPUをタイムスライスする必要があるため、スレッドプールをこれ以上大きくすると、処理が遅くなると想定します。走る。
それは正しいですか。そうであれば、これは実際の問題であるか、ほとんど理論上の問題です。つまり、スレッドプールのサイズを1000に増やした場合、大きな違いに気付くでしょう。