线程池都有哪些状态

 
线程池有五种典型状态:


1.RUNNING(运行状态):在这个状态下,线程池可以接收新的任务提交,并且能够处理已添加到任务队列中的任务。这是线程池的初始状态,也是最活跃的状态。这是最正常的状态

2.SHUTDOWN(关闭状态)当调用了线程池的`shutdown()`方法后,线程池进入此状态。此时,线程池不再接受任何新的任务提交,但它会继续执行已经存在于任务队列中的任务直到它们全部完成。

3.STOP(停止状态):如果调用了`shutdownNow()`方法,线程池会进入STOP状态。此时,线程池不仅不会接受新的任务,而且会尽力去中断正在执行的任务,并且清空任务队列。

4.TIDYING(整理状态):当所有的任务(包括正在执行的和队列中的)都已完成,并且所有的worker线程(除了finalizer线程)都已经结束,线程池就会从SHUTDOWN或STOP状态转换到TIDYING状态。在这个状态中,会执行`terminated()`钩子方法进行一些清理工作。 workCount 为 0

5.TERMINATED(终止状态):在`terminated()`方法执行完毕后,线程池就进入了TERMINATED状态。这时,线程池已经完全终止,所有资源都被释放,线程池生命周期结束。

这些状态之间的转换代表了线程池从创建到最终销毁的完整过程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值