在Java中,使用ThreadPoolExecutor類實現線程池。ThreadPoolExecutor類提供了多個方法來管理和控制線程池的行為。以下是一些常用的方法:
execute(Runnable command)
: 執行給定的任務,提交一個可執行的Runnable對象。
submit(Callable<T> task)
: 執行給定的任務,提交一個可執行的Callable對象,并返回一個表示任務的未來結果的Future對象。
shutdown()
: 關閉線程池,不再接受新的任務,但會等待已經提交的任務完成。
shutdownNow()
: 立即關閉線程池,并嘗試停止所有正在執行的任務。
awaitTermination(long timeout, TimeUnit unit)
: 等待線程池中所有任務完成指定的時間。
isShutdown()
: 判斷線程池是否已經關閉。
isTerminated()
: 判斷線程池中所有任務是否已經完成。
getActiveCount()
: 獲取線程池中正在執行任務的線程數量。
getTaskCount()
: 獲取線程池中已經提交的任務數量。
getCompletedTaskCount()
: 獲取線程池中已經完成的任務數量。
這些方法可以用來管理和監控線程池的執行狀態,以及提交和執行任務。