正确关闭线程池 private void monitorTask(ExecutorService executorService) { while (getState() != InfoSystemStateEnum.ONLINE.getState()) { //通知线程池关闭(不再接收新任务) executorService.shutdown(); try { //历史任务
private void monitorTask(ExecutorService executorService) {
while (getState() != InfoSystemStateEnum.ONLINE.getState()) {
//通知线程池关闭(不再接收新任务)
executorService.shutdown();
try {
//历史任务是否执行完毕
if (!executorService.awaitTermination(5000, TimeUnit.MILLISECONDS)) {
//强制终止正在执行的任务
executorService.shutdownNow();
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
