1. 程式人生 > >4種執行緒池的特點介紹

4種執行緒池的特點介紹

一、執行緒池的分類

  1. FixThreadPool
  2. CachedThreadPool
  3. ScheduledThreadPool
  4. SingleThreadPool

二、特點介紹

1.FixedThreadPool

1.1 通過Exector的newFixedThreadPool靜態方法來建立

1.2 執行緒數量固定的執行緒池

1.3 只有核心執行緒切並且不會被回收

1.4 當所有執行緒都處於活動狀態時,新任務都會處於等待狀態,直到有執行緒空閒出來

2.CachedThreadPool

2.1 通過Exector的newCachedThreadPool靜態靜態方法來建立

2.2 執行緒數量不定的執行緒池

2.3 只有非核心執行緒,最大執行緒數量為Integer.MAX_VALUE,可視為任意大

2.4 有超時機制,時長為60s,即超過60s的空閒執行緒就會被回收

2.5 當執行緒池中的執行緒都處於活動狀態時,執行緒池會建立新的執行緒來處理新任務,否則就會利用空閒的執行緒來處理新任務。因此任何任務都會被立即執行

2.6 該執行緒池比較適合執行大量耗時較少的任務

3.ScheduledThreadPool

3.1 通過Exector的newScheduledThreadPool靜態方法來建立

3.2 核心執行緒數量是固定的,而非核心執行緒數不固定的,並且非核心執行緒

有超時機制,只要處於閒置狀態就會被立即回收

3.3 該執行緒池主要用於執行定時任務和具有固定週期的重複任務

4.SingleThreadPool

4.1 通過Exector的newSingleThreadPool靜態方法來建立

4.2 只有一個核心執行緒,它確保所有的任務都在同一個執行緒中按順序執行。因此在這些任務之間不需要處理執行緒同步的問題