正确关闭线程池 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(); } } }