线程池系列(3)ThreadPoolExecutor空闲线程的销毁原理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线程池系列(3)ThreadPoolExecutor空闲线程的销毁原理相关的知识,希望对你有一定的参考价值。
参考技术A源码:版本JDK8
JDK线程池提供了一些核心参数,用于空闲maximum线程的销毁和空闲core线程的销毁。
工作线程会不断的去阻塞队列中拉取任务,此处有两个方法:
线程池销毁核心线程,依赖的API是queue的poll。当在keepAliveTime时间内拉取不到任务,则会中断工作线程的while循环,开始销毁任务。但是最终是否要销毁线程,还取决于阻塞队列中是否为空。
想想一个场景: 线程池:只有一个核心线程。
线程池系列(1)ThreadPoolExecutor线程池参数以及使用
线程池系列(2) ThreadPoolExecutor的实现原理(源码分析)
灯下黑?原来线程池是最典型生产消费者模式
以上是关于线程池系列(3)ThreadPoolExecutor空闲线程的销毁原理的主要内容,如果未能解决你的问题,请参考以下文章
Android线程管理之ThreadPoolExecutor自定义线程池