并发编程中线程池的生命状态
2021-06-02 23:15:46 2 举报
并发线程中线程池的生命周期
作者其他创作
大纲/内容
状态说明: running: 线程池处于running状态,能够接受新任务,以及对已添加的任务进行处理。 shutdown: 线程池处于shutdown状态,不接受新任务,以及对已添加的任务进行处理。 stop: 线程池处于stop状态,不接受新任务,并且会中断正在进行处理的任务。 Tidying: 所有的任务已终止,ctl记录的”任务数量“为0,线程池会编程Tidying状态,会执行钩子函数Terminated() Terminated:线程池彻底终止,变成Terminated状态
1
Terminated
0
Running
DiscardOldestPolicy:把任务队列中队头的老任务丢弃掉
Tidying
corePoolSize核心线程
Stop
主线程
shutdown()
shutdown
CallerRunsPolicy
线程池的生命周期
4
CallerRunsPolicy:如果当前线程没有关闭,那么由当前提交任务的线程自己去把任务执行了
Executor
DiscardOldestPolicy:没有做任何处理
int 32位,高3位表示状态
BlockingQueue任务队列
maximumPoolSize最大线程数
DiscardOldestPolicy
stop
AbortPolicy(抛异常)
表示线程池的状态
DiscardPolicy
2
阻塞队列为空,线程池中的工作线程数量为0
监听
ShutDown
5
RejectedExecutionHandler
shutdownNow()
3
runing
线程池中的工作线程数量为0
Terminated()
线程池的生命状态
收藏
收藏
0 条评论
回复 删除
下一页