车驰夜幕|ThreadPoolExecutor线程池实现原理+源码解析( 七 )
仔细看下这四种线程池 , 最终都调用了ThreadPoolExecutor的构造方法 , 只是传递的参数有所不同 。
- CachedThreadPool和ScheculedThreadPool设置的最大线程数都是Integer.MAX_VALUE , 可能线程数过多而产生OOM
- SingleThreadExecutor和FixedThreadPool使用的都是无界队列 , 最大元素个数为Integer.MAX_VALUE , 可能缓冲队列中堆积的任务过多 , 而产生OOM
总结使用线程池需要注意的几点如下:
- 合理设置七个参数
- 自定义ThreadFactory , 给每个线程设置有意义的名称
- 自定义RejectedExecutionHandler , 处理线程池饱和时的逻辑
作者:Sicimike
原文链接:
推荐阅读
- 小鹰说科技|美军警告:别想分割封锁我们,美火速增兵叙利亚!大批装甲车驰援
- 上观新闻|夜幕下的南京路步行街东拓段,灯光璀璨,景色更加迷人
- 柚子在野区|【当当与您早知道】月亮不“孤单”
- 车驰夜幕|美国GPS卫星精度0.4米,俄卫星的精度1.2米,中国北斗呢?
- 车驰夜幕|联合国向你发来活动邀请:与全球尖端人士探讨关注自然的真谛
- 车驰夜幕|简单聊聊处理器的核显
- 车驰夜幕|6年架构师带你学习微服务的注册与发现:服务发现的意义
- 车驰夜幕|开源软件分享-漂亮的WPF UI界面框架
- 车驰夜幕|回复头条网友的疑问:30系显卡性能提升这么大,为啥这么便宜
- 车驰夜幕|面试时被问到ThreadLocal别慌,你要的答案都在这里