構造器
newFixedThreadPool
- 核心執行緒數 = 最大執行緒數,核心執行緒數可以指定
- 無超時時間
- 使用
LinkedBlockingQueue
newSingleThreadExecutor
- 核心執行緒數 = 最大執行緒數 = 1
- 無超時時間
- 使用
LinkedBlockingQueue
newCachedThreadPool
- 核心執行緒數為 0,最大執行緒數為 Integer 的最大值
- 超時時間為 60s
- 使用
SynchronousQueue
newScheduledThreadPool
- 核心執行緒數可以指定,最大執行緒數為 Integer 最大值
- 無超時時間
- 使用
DelayedWorkQueue
任務佇列
LinkedBlockingQueue
佇列空間上限為 Integer 最大值,配合固定執行緒數的執行緒池使用
SynchronousQueue
佇列空間為 0,每個 take 操作都需要一個 put 操作,配合執行緒數無上限(實際上限為 Integer 最大值)的執行緒池使用
DelayedWorkQueue
- 佇列空間會自動擴容
- 新增任務時會根據 delay 時間排序
- 取出任務時會先取到佇列第一個任務,然後判斷 delay 時間,再決定是否返回任務
本作品採用《CC 協議》,轉載必須註明作者和本文連結