ThreadPoolExecutor 源码
2021-05-13 14:31:28 17 举报
ThreadPoolExecutor 基本执行流程
作者其他创作
大纲/内容
workers<coreSize
将新建的worker添加到workerSet中
DefaultThreadFactory
run()
进入
子线程开始执行
runWorker(this)
启动线程t.start()
如果拿不taskwoker线程就结束了
Worker
拿到worker的task=w.firstTask
主线程返回
完成worker创建
new Worker()
完成thread创建
cas增加woker数
轮训whiletask != null || (task = getTask()) != null
执行第一tasktask.run()
继续getTask()
轮训获取任务按一定规则从任务队列workQueue里面获取任务,实在拿不到返回null
ThreadPoolExecutor 基本流程
拿到新建的woker
初始化赋值worker的第一任务 this.firstTask = firstTask;
addWorker
ThreadPoolExecutor
创建线程new Thread(worker)
execute(runnableTask)
是
初始化创建worker的线程this.thread=newThread(this)
拿到worker中的thread
0 条评论
下一页