线程池有几种状态 分别是如何变化的

线程池一共有五种状态

状态含义
RUNNING接受新任务并且处理队列中的任务
SHUTDOWN不会接受新任务并且处理队列中的任务,任务处理完之后中断所有线程
STOP不会接受新任务并且不会处理队列中的任务,并且会直接中断所有线程
TIDYING所有线程停止之后,线程池的状态就会转化为TIDYING,一旦达到该状态,就会调用线程池的terminated()
TERMINATEDterminated()执行完之后会转变为此状态

上面五种状态不是随意转换的,只能有下述六种状态变化过程

变化前变化后变化条件
RUNNINGSHUTDOWN手动调用shutdown()触发或者线程池对象GC时会调用finalize()从而调用shutdown()
RUNNINGSTOP手动雕鹰shutdownNow()触发
SHUTDOWNSTOP手动调用shutdown()后再调用shutdownNow()
SHUTDOWNTIDYING线程池所有线程都停止后自动触发
STOPTIDYING线程池所有线程都停止后自动触发
TIDYINGTERMINATED线程池自动调用terminated()后触发
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值