首頁  >  文章  >  Java  >  Java執行緒池中類別的繼承是什麼?

Java執行緒池中類別的繼承是什麼?

PHPz
PHPz轉載
2023-05-09 10:55:07651瀏覽

1、說明

Java中的線程池核心實作類別是ThreadPoolExecutor

Executor:只提供執行任務的接口,使用者不必關注如何製作線程,如何製作線程,只需提供Runnable物件。

ExecutorService:在執行任務的基礎上,追加了提交任務、執行緒池生命週期的管理等介面。

AbstractExecutorService:抽象系列執行任務的過程,確保下層的實作只需專注於執行任務的方法即可。

ThreadPoolexecutor:一方面維持自己的生命週期,另一方面管理課程和任務,兩者很好地結合實行並行任務。

2、實例

// ctl:高三位表示线程池运行状态,低29位表示线程池线程运行数量
// 一个变量存储两个值的好处是不必费心思(比如加锁)去维护两个状态的一致性
private final AtomicInteger ctl = new AtomicInteger(ctlOf(RUNNING, 0));
 
// 获取线程池当前的运行状态(~:按位取反,即0变成1,1变成0。)
private static int runStateOf(int c)     { return c & ~CAPACITY; }
// 获取线程池当前运行的线程数量
private static int workerCountOf(int c)  { return c & CAPACITY; }
// 通过线程池状态和运行的线程数量获取ctl
private static int ctlOf(int rs, int wc) { return rs | wc; }

以上是Java執行緒池中類別的繼承是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除