首頁 > Java > java教程 > 主體

Java執行緒池如何關閉

王林
發布: 2023-05-09 11:58:15
轉載
2945 人瀏覽過

1、shutdown()方法是安全的關閉執行緒池,呼叫shutdown方法後,不是立即關閉執行緒池,而是在執行緒池中執行很多任務,或等待佇列執行任務,等待所有任務完成後關閉執行緒池

2、isShutdown()方法可判斷執行緒池是否開始關閉,無法判斷是否完全關閉。

3、isterminated()方法可以判斷執行緒池是否完全關閉,因此呼叫shutdown後,執行任務時,呼叫isshutdown回傳true,呼叫isterminated回傳false。

awaittermination方法是判斷線程池是否完全關閉,與isterminated相似,但接受等待時間。呼叫該方法可能發生以下情況

(1)等待期間(包括進入等待狀態)線程池關閉,提交的任務(包括執行中和隊列中等待的)全部完成,相當於線程池結束,方法傳回true

(2)等待逾時後,最初的執行緒池沒有發生結束法回到false

(3)等待期間執行緒中斷,方法會拋出網路例外。

shutdownNow:立即關閉執行緒池,首先向執行緒池中的執行緒發送中斷訊號,嘗試中斷執行緒,然後將等待佇列的任務傳回呼叫人員,呼叫人員補救這些任務。

因此,我們可以根據自己的業務需求,選擇合適的方法停止執行緒池。例如,通常可以用shutdown()的方法關閉,完成提交的任務,但如果情況緊急,可以用shutdownnow方法加快線程池的結束速度。

以上是Java執行緒池如何關閉的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板