newfixedthreadpool
:建立固定大小的執行緒池,每次提交乙個任務就建立乙個執行緒,直到執行緒達到執行緒池的最大大小;
newcachedthreadpool
:建立乙個可快取的執行緒池,此執行緒池不會對執行緒池大小做限制,執行緒池大小完全依賴於
作業系統(或者說
jvm)能夠建立的最大執行緒大小;
newscheduledthreadpool
:建立乙個大小無限的執行緒池,此執行緒池支援定時以及週期性執行任務的需求;
newsinglethreadexecutor
:建立乙個單執行緒的執行緒池。此執行緒池支援定時以及週期性執行任務的需求。
執行緒池能夠帶來三個好處
第一:降低資源消耗。通過重複利用已建立的執行緒降低執行緒建立和銷毀造成的消耗。
第二:提高響應速度。當任務到達時,任務可以不需要等到執行緒建立就能立即執行。
第三:提高執行緒的可管理性。執行緒是稀缺資源,如果無限制的建立,不僅會消耗系統資源,還會降低系統的穩定
性,使用執行緒池可以進行統一的分配,調優和監控。
執行緒池有哪些引數?
我們首先建立乙個執行緒池 public class threadpoolparameters 當然,上面的引數是隨便填的,進入 executors.newfixedthreadpool裡面,檢視建立 fixedthreadpool執行緒池的原始碼,如下就是它原始碼的一部分 public static...
執行緒池的種類有哪些?
目錄 一 可快取執行緒池 newcachedthreadpool 二 指定工作執行緒的執行緒池 newfixedthreadpool 三 定時的執行緒池newscheduledthreadpool 四 單執行緒執行緒池 newsinglethreadexecutor 建立乙個可根據需要建立新執行緒的...
13 執行緒池常用的阻塞佇列有哪些?
執行緒池內部結構 執行緒池的內部結構主要由四部分組成,如圖所示。阻塞佇列 執行緒池中的這四個主要組成部分最值得我們關注的就是阻塞佇列了,如 所示,不同的執行緒池會選用不同的阻塞佇列。左側是執行緒池,右側為它們對應的阻塞佇列,你可以看到 5 種執行緒池對應了 3 種阻塞佇列,我們接下來對它們進行逐一的...