2013-07-10 22 views
0

什麼應該是分配給Executors.newFixedThreadPool(n)的適當值?有沒有這樣做的公式?如何決定執行程序的參數。newFixedThreadPool

+1

根據定義,你可以同時執行任務的最大數量... –

+0

Executors.newFixedThreadPool(10)和Executors.newFixedThreadPool(20)之間有什麼區別。它對應用程序的性能有什麼影響? – user2568266

+0

感謝您的解釋。這將有助於 – user2568266

回答

0

這取決於。如果你將要執行的任務大部分是CPU限制的(例如任務可以使一個CPU核心持續保持100%),那麼你不太可能從線程池中獲得大於核心數量在你的機器上。但是如果這些任務將大部分時間用於I/O,那麼較大的池將更好地利用可用的CPU容量。

有沒有簡單的答案,你必須用不同的池大小來分析你的應用程序,以找到你使用的特定組合的最佳位置。

相關問題