1. 程式人生 > >Java等待執行緒池終止

Java等待執行緒池終止

1、輪詢isTerminated:

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

2、輪詢awaitTermination:

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

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