java 线程池
线程池关闭
shutdown
不接新任务,但会处理完正在处理和队列里的任务
shutdownNow
不接新任务,中断interrupt正在处理的任务(任务可中断才可以,否则不受影响),返回队列里的任务list
awaitTermination
等待指定时间后,线程池关闭返回true,否则返回false
一般与shutdownNow 结合使用awaitTermination不会关闭ExecutorService,只是定时检测一下他是否关闭
executor.shutdown(); if(!executor.awaitTermination(20,TimeUnit.SECONDS)){ executor.shutdownNow(); //指定时间还没关闭,则直接关闭 }