线程池的坑
线程池的最佳实践
-
能不能不用线程池?
-
线程池参数设置得更合理?
-
动态修改线程池参数
如何实现?
JDK原生线程池ThreadPoolExecutor提供了如下几个public的setter方法
线程池的原理
各种概念讲解
构造函数
public ThreadPoolExecutor(int corePoolSize,//核心线程数
int maximumPoolSize,//最大线程数
long keepAliveTime,//当线程数大于核心线程数时,多余的空闲线程存活的最长时间
TimeUnit unit,//时间单位
BlockingQueue<Runnable> workQueue,//任务队列,用来储存等待执行任务的队列
ThreadFactory threadFactory,//线程工厂,用来创建线程,一般默认即可
RejectedExecutionHandler handler//拒绝策略,当提交的任务过多而不能及时处理时,我们可以定制策略来处理任务
){
重要参数讲解
方法参数
拒绝策略
阻塞队列
流程总结

其实这张图已经说得非常明显了,要看判断逻辑,还有下面这张图

浙公网安备 33010602011771号