ThreadPoolExecutor
0 人感兴趣 · 7 次引用
- 最新
- 推荐

🔎【Java 源码探索】深入浅出的分析 ThreadPoolExecutor
如果线程池工作线程数<corePoolSize,创建新线程执行task,并不断轮训t等待队列处理task。
ThreadPoolExecutor 源码解读(四)如何正确使用线程池(总结坑点 + 核心参数调优)
业界已经禁止使用Executors 创建线程池,建议使用原生的ThreadPoolExecutor,但是ThreadPoolExecutor参数很多,完全需要自己配置,虽然知道每个参数的含义,但是却不知道设置为多少合适。
ThreadPoolExecutor 源码解读(三)如何优雅的关闭线程池(shutdown、shutdownNow、awaitTermination)
学会了如何提交任务,还需要知道如何正确的关闭线程池。当关闭一个线程池时,有的工作线程还正在执行任务,有的调用者正在向线程池提交任务,并且工作队列中可能还有未执行的任务。因此,关闭过程不可能是瞬时的,而是一个平滑过渡的过程。
ThreadPoolExecutor 源码解读(二)execute 提交任务,Worker 详解。如何执行任务?如何回收空闲线程?
了解了线程池基本属性的概念是远远不够的,还需要知道每一个属性在源码中的体现,比如提交任务的过程中是如何将核心线程数、工作队列、最大线程数以及拒绝策略等连起来的?工作线程是如何执行任务代码的?线程池是如何回收空闲线程的?
ThreadPoolExecutor 源码解读(一)重新认识 ThreadPoolExecutor(核心参数、生命周期、位运算、ThreadFactory、拒接策略)
在Java中,创建一个线程new Thread,就像创建一个对象一样简单,但实际上创建线程远不是创建一个对象那么简单。创建对象,仅仅是在 JVM 的堆里分配一块内存而已;而创建一个线程,却需要调用操作系统内核的 API,并且要为线程分配一系列的资源,所以线程是一


手写线程池,对照学习 ThreadPoolExecutor 线程池实现原理!
实很多时候一段功能代码的核心主逻辑可能并没有多复杂,但为了让核心流程顺利运行,就需要额外添加很多分支的辅助流程。就像我常说的,为了保护手才把擦屁屁纸弄那么大!