Java的Executor框架之关闭线程池

版权声明:本文为作者原创文章,转载请附上原文出处链接和本声明。
本文链接:https://www.weijc.cn/jdetail/343531681445056512

Java的Executor框架之关闭线程池

Executor线程池状态

线程池有几种状态,比如RUNNING,SHUTDOWN,STOP,TIDYING,TERMINATED等,看下每种状态:

  1. RUNNING:线程池能够接受新任务,并且能够处理对队列中的任务

  2. SHUTDOWN:线程池不能够接受新任务,但是能够处理对队列中的任务

  3. STOP:线程池不能够接受新任务,并且不能够处理对队列中的任务

  4. TIDYING:没有运行的任务,任务都已经停止,调用terminated方法状态到TERMINATED

  5. TERMINATED:线程池停止

Executorc线程池状态转换

关闭线程池

两种方式关闭线程池,shutdown和shutdownNow,这两种有所不同。

  1. shutdown方法,先把线程池设为SHUTDOWN,已有的任务继续执行,但是空闲的工作线程都会中断,不会接受新的任务,等待现有的线程执行完毕。

  2. shutdownNow方法,先把线程池设为STOP,不再接受新的任务,中断现在执行的线程。

shutdown方法

shutdownNow方法

展开阅读全文
还能输入1000个字符