如何从Executor核心理解线程池,12分钟内彻底搞懂?

2026-05-30 05:373阅读0评论工具资源
  • 内容介绍
  • 文章标签
  • 相关推荐

如何从Executor核心理解线程池,12分钟内彻底搞懂?

在ThreadPoolExecutor的基础上, 还有个做定时的线程池ScheduledThreadPoolExecutor,说白了就是...

ThreadPoolExecutor主要有七个重要的参数

12分钟从Executor自顶向下彻底搞懂线程池

本篇文章笔记以及案例被收入 gitee-StudyJava、 github-StudyJava 感兴趣的同学可以stat下持续关注喔~

线程池的优势

先说说我们要明白创建线程是有开销的,程序计数器、 功力不足。 虚拟机栈、本地方法栈都是线程私有的空间

如果已达到最大线程数量则使用拒绝策略

拒绝策略 作用
AbortPolicy 抛出异常
DiscardPolicy 不处理,丢弃
DiscardOldestPolicy 丢弃队列中最近一个任务,并马上施行当前任务
CallerRunsPolicy 调用线程来施行任务

通常使用shutdown,如果任务不一定要施行完可以使用shutdownNow,试试水。

线程池的实现原理

踩雷了。 public void execute { ... }

内卷。 如果阻塞队列已满,还未达到最大线程数量则创建非核心线程施行任务

物超所值。

阅读全文

如何从Executor核心理解线程池,12分钟内彻底搞懂?

在ThreadPoolExecutor的基础上, 还有个做定时的线程池ScheduledThreadPoolExecutor,说白了就是...

ThreadPoolExecutor主要有七个重要的参数

12分钟从Executor自顶向下彻底搞懂线程池

本篇文章笔记以及案例被收入 gitee-StudyJava、 github-StudyJava 感兴趣的同学可以stat下持续关注喔~

线程池的优势

先说说我们要明白创建线程是有开销的,程序计数器、 功力不足。 虚拟机栈、本地方法栈都是线程私有的空间

如果已达到最大线程数量则使用拒绝策略

拒绝策略 作用
AbortPolicy 抛出异常
DiscardPolicy 不处理,丢弃
DiscardOldestPolicy 丢弃队列中最近一个任务,并马上施行当前任务
CallerRunsPolicy 调用线程来施行任务

通常使用shutdown,如果任务不一定要施行完可以使用shutdownNow,试试水。

线程池的实现原理

踩雷了。 public void execute { ... }

内卷。 如果阻塞队列已满,还未达到最大线程数量则创建非核心线程施行任务

物超所值。

阅读全文