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