Java的Executor框架之关闭线程池
Executor线程池状态
线程池有几种状态,比如RUNNING,SHUTDOWN,STOP,TIDYING,TERMINATED等,看下每种状态:
RUNNING:线程池能够接受新任务,并且能够处理对队列中的任务
SHUTDOWN:线程池不能够接受新任务,但是能够处理对队列中的任务
STOP:线程池不能够接受新任务,并且不能够处理对队列中的任务
TIDYING:没有运行的任务,任务都已经停止,调用terminated方法状态到TERMINATED
TERMINATED:线程池停止
Executorc线程池状态转换
关闭线程池
两种方式关闭线程池,shutdown和shutdownNow,这两种有所不同。
1、shutdown方法,先把线程池设为SHUTDOWN,已有的任务继续执行,但是空闲的工作线程都会中断,不会接受新的任务,等待现有的线程执行完毕。
2、shutdownNow方法,先把线程池设为STOP,不再接受新的任务,中断现在执行的线程。
shutdown方法
shutdownNow方法
领取专属 10元无门槛券
私享最新 技术干货