線程池究竟設置多大要看你的線程池執行的什麼任務了,CPU密集型、IO密集型、混合型,任務類型不一樣,設置的方式也不同多線程
任務通常分爲:CPU密集型、IO密集型、混合型,對於不一樣類型的任務須要分配不一樣大小的線程池線程
一、CPU密集型線程池
儘可能使用較小的線程池,通常Cpu核心數+1方法
由於CPU密集型任務CPU的使用率很高,若開過多的線程,只能增長線程上下文的切換次數,帶來額外的開銷cpu
二、IO密集型di
方法一:可使用較大的線程池,通常CPU核心數 * 2時間
IO密集型CPU使用率不高,可讓CPU等待IO的時候處理別的任務,充分利用cpu時間
能夠將任務分爲CPU密集型和IO密集型,而後分別使用不一樣的線程池去處理,按狀況而定