车驰夜幕|ThreadPoolExecutor线程池实现原理+源码解析( 六 )
至此ThreadPoolExecutor的核心方法的源码以及执行逻辑已经讲解完毕 , 再来看一些非核心方法 , 了解一下即可
除此之外还需要了解的是 , 构造方法中的七个参数 , 除了BlockingQueue是不能动态设置外 , 其余六个参数都可以动态设置 , 分别调用对于的setXxx方法即可 , 当然也可以通过对于的getXxx方法获取对应的信息 。
鉴于此 , 我们再来看一个常见的问题
Java有几种线程池?
JDK(准确的说是java.util.concurrent.Executors工具类)提供了四种线程池:
public static ExecutorService newCachedThreadPool() {return new ThreadPoolExecutor(0, Integer.MAX_VALUE,60L, TimeUnit.SECONDS,new SynchronousQueue
public static ExecutorService newFixedThreadPool(int nThreads) {return new ThreadPoolExecutor(nThreads, nThreads,0L, TimeUnit.MILLISECONDS,new LinkedBlockingQueue
public static ExecutorService newSingleThreadExecutor() {return new FinalizableDelegatedExecutorService(new ThreadPoolExecutor(1, 1,0L, TimeUnit.MILLISECONDS,new LinkedBlockingQueue
public static ScheduledExecutorService newScheduledThreadPool(int corePoolSize) {return new ScheduledThreadPoolExecutor(corePoolSize);}// ScheduledThreadPoolExecutor继承了ThreadPoolExecutor , 所以super()还是调用ThreadPoolExecutor的构造方法public class ScheduledThreadPoolExecutor extends ThreadPoolExecutor implements ScheduledExecutorService public ScheduledThreadPoolExecutor(int corePoolSize) {super(corePoolSize, Integer.MAX_VALUE, 0, NANOSECONDS, new DelayedWorkQueue());}}
推荐阅读
- 小鹰说科技|美军警告:别想分割封锁我们,美火速增兵叙利亚!大批装甲车驰援
- 上观新闻|夜幕下的南京路步行街东拓段,灯光璀璨,景色更加迷人
- 柚子在野区|【当当与您早知道】月亮不“孤单”
- 车驰夜幕|美国GPS卫星精度0.4米,俄卫星的精度1.2米,中国北斗呢?
- 车驰夜幕|联合国向你发来活动邀请:与全球尖端人士探讨关注自然的真谛
- 车驰夜幕|简单聊聊处理器的核显
- 车驰夜幕|6年架构师带你学习微服务的注册与发现:服务发现的意义
- 车驰夜幕|开源软件分享-漂亮的WPF UI界面框架
- 车驰夜幕|回复头条网友的疑问:30系显卡性能提升这么大,为啥这么便宜
- 车驰夜幕|面试时被问到ThreadLocal别慌,你要的答案都在这里