0 点赞 评论 收藏
分享
2018-08-26 16:51
中国矿业大学(北京) Java LCS_:线程池设计时是这么考虑的:当任务对列没有满时,如果线程池中线程个数小于核心线程数,那么新加任务进来时,创建新的线程,并把新任务设为worker的firstTask,由新创建的线程直接执行。线程池的Worker重写了run方法,当线程调用run方法时,执行runWorker方法,此时线程会进去一个while循环不断getTask,意味着如果有新任务添加进来都会被在while里面循环的线程执行。如果线程达到核心线程数,且任务队列没有满,新添加进来的任务会被池里任意空闲的线程执行。如果工作队列满了,说明线程池的工作线程已经达到了核心数目,那么就需要创建新的线程,新任务为新线程的firstTask....
不知道理解有没有错。。。😳
投递美团等公司10个岗位 >
0 点赞 评论 收藏
分享
关注他的用户也关注了: