4種執行緒池的特點介紹

2021-07-22 22:54:30 字數 892 閱讀 5339

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...