Java等待線程池終止

1、輪詢isTerminated:

        while (!service.isTerminated()) {
            TimeUnit.SECONDS.sleep(1);
        }

2、輪詢awaitTermination:

        while (!service.awaitTermination(1, TimeUnit.SECONDS)) {
        }

service表示線程池對象,當線程池終止時將自動跳出while循環。這兩個方法的實現原理其實是一致的。我這裏設置了每隔1s輪詢一次,你可以控制輪詢的間隔時間儘可能小,以便及時響應線程池終止後的邏輯。由於這兩個方法都是阻塞的,所以別忘了處理中斷異常。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章