你知道为什么阿里不允许Executors去创建线程池吗?

阿里巴巴开发手册关于线程池有这样一条规定:

线程池不允许使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式,这样的处理方式让写的同学更加明确线程池的运行规则,规避资源耗尽的风险。

另外,要合理的配置线程池,就必须首先分析任务特性,而Java自带的Executors很显然满足不了你特殊的业务,所以我们尽可能的自定义线程,那如何自定义线程?

我们可以从以下几个角度来进行分析:

1.任务的性质:CPU密集型任务,IO密集型任务和混合型任务。

2.任务的优先级:高,中和低。

3.任务的执行时间:长,中和短。

4.任务的依赖性:是否依赖其他系统资源,如数据库连接。

任务性质不同的任务可以用不同规模的线程池分开处理。CPU密集型任务配置尽可能少的线程数量。IO密集型任务则由于需要等待IO操作,线程并不是一直在执行任务,则配置尽可能多的线程, 混合型的任务,如果可以拆分,则将其拆分成一个CPU密集型任务和一个IO密集型任务,只要这两个任务执行的时间相差不是太大,那么分解后执行的吞吐率要 高于串行执行的吞吐率。

不同种类的任务,在我们日常开发又该如何配置线程池?做我们的任务做到降低资源消耗、提高响应速度、提高线程的可管理性等性能问题了?

别慌!你离线程池调优只差一个引路人,这次我们为大家开设了一堂大型互联网线程池调优实战训练营,仅需0.02元,彻底填补并发编程这块的短板。

图片

课程具体安排(课程采取直播+录播形式)

一、死磕ThreadPoolExecutor线程池底层原理与源码分析

1、线程池与线程性能对比

2、线程池底层源码解析

3.newCacheThreadPool可缓存线程池原理详解

4、newFixedThreadPool固定个数线程池原理详解

5.newSingleThreadExecutor单线程池原理详解

6.阿里巴巴开发手册为何不推荐使用自带的线程池工具类

7、提交任务时execute和submit方法的区别?

8、生产环境中线程池如何配置线程数

9.在线程中你怎么处理不可捕捉异常

二、死磕ForkJoinPool线程池底层与源码分析

1、CPU&IO密集型任务的区别

2、传统线程池的缺陷

3、ForkJoin的设计思想与原理详解

4、ForkJoin使用详解

5、ForkJoin工作窃取算法详解

6、ForkJoin底层execute/submit/invoke方法源码分析

7、ForkJoin底层fork方法源码分析

8、ForkJoin底层join方法源码分析

三、死磕ScheduledThreadPoolExecutor

1、ScheduledThreadPoolExecutor设计思路详解

2、ScheduledThreadPoolExecutor与ThreadPoolExecutor区别

3、ScheduledThreadPoolExecutor底层源码分析

4、ScheduledThreadPoolExecutor底层schedule方法源码分析

5、ScheduledThreadPoolExecutor底层scheduleAtFixedRate方法源码分析

6、ScheduledThreadPoolExecutor底层scheduleWithFixedDelay方法源码分析

课程加餐福利:

1、自旋锁&可重复锁&公平锁&共享锁&分段锁你都知道吗?

2、无锁&偏向锁&轻量级锁&重量级锁如何膨胀升级?

3、Lock底层AQS实现与Synchronized底层实现异同?

4、LongAdder的分段CAS优化机制如何设计的?

5、Java多线程内存模型底层如何实现的?

6、volatile底层的内存屏障是如何实现的?

图片

预习资料领取:

图片

图片

面试和开发过程中,理论和基础都是开发人员都必须掌握的,尤其是开发越往后走,瓶颈期也越大。掌握并发编程的理论与实践技术,将拉开与其他小伙伴的差距。

课程将深入大型互联网并发线程池原理与调优实战,避免在高并发的环境下遇到的一些问题。扫码即刻购课:

图片

java 阿里线程池_为什么阿里不允许使用 Executors 创建线程池?相关推荐

  1. 阿里内部禁用Executors创建线程池,为什么?

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 何甜甜在吗 来源 | http://rrd.m ...

  2. 阿里为什么禁用Executors创建线程池?

    作者 | 何甜甜在吗 来源 | http://rrd.me/eUh6V 看阿里巴巴开发手册并发编程这块有一条:线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方 ...

  3. 阿里面试官鬼得很,问我为什么他们阿里要禁用Executors创建线程池?

    作者:何甜甜在吗 来源:http://rrd.me/eUh6V 看阿里巴巴开发手册并发编程这块有一条:线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式,通过 ...

  4. 为什么阿里巴巴要禁用 Executors 创建线程池?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 转自:掘金,作者:何甜甜在吗 juejin.im/post/5dc ...

  5. 为什么阿里巴巴要禁用Executors创建线程池?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:何甜甜在吗 juejin.im/post/5dc41c165 ...

  6. 阿里巴巴为什么要禁用 Executors 创建线程池?

    作者:何甜甜在吗 www.juejin.im/post/5dc41c165188257bad4d9e69 看阿里巴巴开发手册并发编程这块有一条:线程池不允许使用 Executors 去创建,而是通过T ...

  7. 阿里为何不允许用Executors创建线程池?

    点击下方"IT牧场",选择"设为星标" 作者:雪山上的蒲公英 cnblogs.com/zjfjava/p/11227456.html 1. 通过Executor ...

  8. 为什么阿里内部不允许用Executors创建线程池?

    来源:cnblogs.com/zjfjava/p/11227456.html 1. 通过Executors创建线程池的弊端 在创建线程池的时候,大部分人还是会选择使用Executors去创建. 下面是 ...

  9. 为什么阿里不允许用Executors创建线程池,而是通过ThreadPoolExecutor的方式?

    1.通过Executors创建线程池的弊端 在创建线程池的时候,大部分人还是会选择使用Executors去创建. 下面是创建定长线程池(FixedThreadPool)的一个例子,严格来说,当使用如下 ...

  10. 为什么阿里不允许用Executors创建线程池

    1 文章概述 <阿里巴巴JAVA开发手册>有这样一条强制规定:线程池不允许使用Executors去创建,而应该通过ThreadPoolExecutor方式,这样处理方式更加明确线程池运行规 ...

最新文章

  1. python学习之路二
  2. javascript使用Json总结
  3. vs2k5 notes
  4. The way of Webpack learning (IV.) -- Packaging CSS(打包css)
  5. python制图一元迭代函数_Python中 生成器、迭代器、闭包、装饰器、元类实例分析...
  6. 数据结构(C语言版 第2版严蔚敏版)完整课后习题答案汇总
  7. ENSP实验五——三层交换机+二层交换机
  8. c语言串口通信实验报告,单片机串口通信实验报告总结
  9. ibeacon UWB GPS 空间四点定位算法
  10. 四.C++网络安全学院之高级语言和低级语言
  11. 服务器ip映射端口,一个公网IP对应多台服务器端口映射问题
  12. 问题 A: 【二维数组】计算三阶行列式的值
  13. 嵌入式Linux 串口编程系列1——基本知识、termios结构体
  14. mfc vs2010 C++ 连接mysql等数据库
  15. WebGL 3D 电信机架实战之数据绑定
  16. UWA DAY 2021 议程亮相
  17. 8种赚取被动收入的方式
  18. 虚拟主持人的作用与特点
  19. 谷物清选机设计_轴用弹性挡圈装配机的设计_双柱机械式汽车举升机_助老型全自动“方便阅读架”机械、控制结构的设计_5T单梁桥式起重机金属结构设计_2000KN四柱式通用液压机设计……
  20. break在python中什么意思_python中break怎么用

热门文章

  1. 欧姆定律基本知识(笔记)
  2. linux pdf to txt,PDF转换为TXT
  3. php element 插件_为phpstorm安装vue插件
  4. java可以继承私有的,关于java:继承中的私有方法
  5. c语言学习-自定义并调用函数求三个数的最小公倍数
  6. 【Unity开源项目精选】AssetStudio:提取Unity游戏的资源
  7. caffe.net matlab,windows-matlab环境下,生成的caffe模型无法运行
  8. 如何在ASP.NET Core中上传文档
  9. 突发!美国国会发函要求 Facebook 立即停止 Libra 项目
  10. 长短期记忆网络_思维导图:长短期记忆模型