写点什么

ThreadPoolExecutor

0 人感兴趣 · 16 次引用

  • 最新
  • 推荐
https://static001.geekbang.org/infoq/40/40d3c852a2b67a29e2d69c23e7b8ebb2.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

慧销平台 ThreadPoolExecutor 内存泄漏分析

京东生旅平台慧销系统,作为平台系统对接了多条业务线。但近期根据告警发现内存持续升高,因此猜测该系统可能存在内存泄漏的情况。本文通过此案例,介绍慧销平台ThreadPoolExecutor内存泄漏问题的详细分析过程。

https://static001.geekbang.org/infoq/ea/eaa4b9ff3ed5713babc5e638aefe7013.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

开源一夏 |为什么线程池不允许使用 Executors 去创建?

Executors Executors存在什么问题 Executors为什么会OOM 创建线程池的正确姿势

手写一个线程池,带你学习 ThreadPoolExecutor 线程池实现原理

从手写线程池开始,逐步的分析这些代码在Java的线程池中是如何实现的。

JDK ThreadPoolExecutor 核心原理与实践

本文内容主要围绕JDK中的ThreadPoolExecutor展开,首先描述了ThreadPoolExecutor的构造流程以及内部状态管理的机理,随后用大量篇幅深入源码探究了ThreadPoolExecutor线程分配、任务处理、拒绝策略、启动停止等过程,其中对Worker内置类进行重点分析。

https://static001.geekbang.org/infoq/23/23464418ac4965d3ccf0ca28398884c8.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

ThreadPoolExecutor 任务提交原码分析

用户头像
new life
2021-11-17

线程池任务提交过程,总体上是:

https://static001.geekbang.org/infoq/2b/2b5d140ebaeefff1be20220ddef3f576.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

ThreadPoolExecutor 线程销毁源码分析

用户头像
new life
2021-11-07

线程池在开发中使用非常频繁,在面试中也是高频面试点,最近翻看源码,一些笔记心动分享下:

https://static001.geekbang.org/infoq/c8/c8f574d554e52d9d43e667ec2cd50bac.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

美团的动态线程池,不依赖中间件可以实现么?

用户头像
马丁玩编程
2021-10-25

大家好,我是龙台。美团线程池文章介绍中,因为业务对线程池参数没有合理配置,触发过几起生产事故,进而引发了一系列思考。最终决定封装线程池动态参数调整,扩展线程池监控以及消息报警等功能

https://static001.geekbang.org/infoq/ec/ecc438c207da879511cc750011a7487e.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

🔎【Java 源码探索】深入浅出的分析 ThreadPoolExecutor

用户头像
洛神灬殇
2021-05-30

如果线程池工作线程数<corePoolSize,创建新线程执行task,并不断轮训t等待队列处理task。

ThreadPoolExecutor 源码解读(四)如何正确使用线程池(总结坑点 + 核心参数调优)

用户头像
徐同学呀
2021-04-17

业界已经禁止使用Executors 创建线程池,建议使用原生的ThreadPoolExecutor,但是ThreadPoolExecutor参数很多,完全需要自己配置,虽然知道每个参数的含义,但是却不知道设置为多少合适。

ThreadPoolExecutor 源码解读(三)如何优雅的关闭线程池(shutdown、shutdownNow、awaitTermination)

用户头像
徐同学呀
2021-04-17

学会了如何提交任务,还需要知道如何正确的关闭线程池。当关闭一个线程池时,有的工作线程还正在执行任务,有的调用者正在向线程池提交任务,并且工作队列中可能还有未执行的任务。因此,关闭过程不可能是瞬时的,而是一个平滑过渡的过程。

ThreadPoolExecutor 源码解读(二)execute 提交任务,Worker 详解。如何执行任务?如何回收空闲线程?

用户头像
徐同学呀
2021-04-17

了解了线程池基本属性的概念是远远不够的,还需要知道每一个属性在源码中的体现,比如提交任务的过程中是如何将核心线程数、工作队列、最大线程数以及拒绝策略等连起来的?工作线程是如何执行任务代码的?线程池是如何回收空闲线程的?

ThreadPoolExecutor 源码解读(一)重新认识 ThreadPoolExecutor(核心参数、生命周期、位运算、ThreadFactory、拒接策略)

用户头像
徐同学呀
2021-04-17

在Java中,创建一个线程new Thread,就像创建一个对象一样简单,但实际上创建线程远不是创建一个对象那么简单。创建对象,仅仅是在 JVM 的堆里分配一块内存而已;而创建一个线程,却需要调用操作系统内核的 API,并且要为线程分配一系列的资源,所以线程是一

https://static001.geekbang.org/infoq/5b/5bf50eb55c36ce96566ff1fae941b317.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

jdk 源码系列之 TheadPoolExecutor

用户头像
sinsy
2021-03-15

jdk 源码系列之ThreadPoolExecutor

https://static001.geekbang.org/infoq/7c/7c663597df235cc3599dd1683756246e.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

手写线程池,对照学习 ThreadPoolExecutor 线程池实现原理!

用户头像
小傅哥
2020-12-24

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

ThreadPoolExecutor_ThreadPoolExecutor技术文章_InfoQ写作社区