計算出應該用於應用程序的理論最佳線程數有助於咱們的程序的性能,應用程序運行時特徵主要有CPU密集型工做和主要等待IO兩種特徵,或者是混合一塊兒。框架
threads = number of CPUs + 1性能
在Fork/Join框架中,默認的線程數是cpu核心數。這很直觀,讓CPU儘量在作事情,不要閒着,壓榨勞動力。spa
計算IO任務的線程的最佳數量沒有那麼明顯。在IO綁定任務期間,CPU將處於空閒狀態(等待或阻塞)。此空閒時間能夠更好地用於啓動另外一個IO請求。線程
咱們能夠將其wait time / service time視爲衡量任務競爭程度的指標。blog
參考:http://baddotrobot.com/blog/2013/06/01/optimum-number-of-threads/it