fixthreadpoolcachedthreadpoolscheduledthreadpoolsinglethreadpool1.1 通過exector的newfixedthreadpool靜態方法來建立
1.2 執行緒數量固定的執行緒池
1.3 只有核心執行緒切並且不會被**
1.4 當所有執行緒都處於活動狀態時,新任務都會處於等待狀態,直到有執行緒空閒出來
2.1 通過exector的newcachedthreadpool靜態靜態方法來建立
2.2 執行緒數量不定的執行緒池
2.3 只有非核心執行緒,最大執行緒數量為integer.max_value,可視為任意大
2.4 有超時機制,時長為60s,即超過60s的空閒執行緒就會被**
2.5 當執行緒池中的執行緒都處於活動狀態時,執行緒池會建立新的執行緒來處理新任務,否則就會利用空閒的執行緒來處理新任務。因此任何任務都會被立即執行
2.6該執行緒池比較適合執行大量耗時較少的任務
3.1 通過exector的newscheduledthreadpool靜態方法來建立
3.2 核心執行緒數量是固定的,而非核心執行緒數不固定的,並且非核心執行緒有超時機制,只要處於閒置狀態就會被立即**
3.3該執行緒池主要用於執行定時任務和具有固定週期的重複任務
4.1 通過exector的newsinglethreadpool靜態方法來建立
4.2 只有乙個核心執行緒,它確保所有的任務都在同乙個執行緒中按順序執行。因此在這些任務之間不需要處理執行緒同步的問題
執行緒池 執行緒池的4種拒絕策略
結合上面的圖,我們思考乙個問題,當我們建立乙個執行緒池的時候,他會有最大的執行緒數,和執行緒任務快取數。如果系統的執行緒任務突然暴增,這個時候,執行緒池的執行緒達到最大值,執行緒佇列中的快取數也達到了最大值,這個時候,沒有擠進執行緒池的該怎麼辦。在使用執行緒池的時候,可能會遇到兩種情況,導致執行緒會...
五種執行緒池的介紹
1 newcachedthreadpool 作用 建立乙個可根據需要建立新執行緒的執行緒池,但是在以前構造的執行緒可用時將重用它們,並在需要時使用提供的 threadfactory 建立新執行緒。特徵 建立方式 executors.newcachedthreadpool 2 newfixedthre...
執行緒池的介紹
構造相關的介紹 阻塞佇列,如果blockingqueue是空的,從blockingqueue取東西的操作將會被阻斷進入等待狀態,直到blockingqueue進了東西才會被喚醒,同樣,如果blockingqueue是滿的,任何試圖往裡存東西的操作也會被阻斷進入等待狀態,直到blockingqueue...