线程池参数简单分析
Posted 扛把子们吃起来吧
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线程池参数简单分析相关的知识,希望对你有一定的参考价值。
jdk自实现的线程池都是对ThreadPoolExecutor的重新定义,下面看下ThreadPoolExecutor各个参数,了解并记录一下;
1 : 构造函数
public ThreadPoolExecutor(int corePoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
workQueue,
ThreadFactory threadFactory,
RejectedExecutionHandler handler)
corePoolSize:是核心线程数;
maximumPoolSize:是最大线程数;
keepAliveTime:是线程回收时间;
TimeUnit:线程回收时间单位;
workQueue:是线程等待队列;
ThreadFactory:创建线程的工厂;
handler:当任务不能处理的时候提供的策略;
2 : 具体任务执行流程如图:
3:结语
1)jdk中Executors提供几种常用的线程池:
newCachedThreadPool()
newFixedThreadPool(int nThreads)
newSingleThreadExecutor()
newScheduledThreadPool(int corePoolSize);
2)业务需求不同则需要的线程池不同;
3)获取当前可用处理器的核数
Runtime.getRuntime().availableProcessors()
以上是关于线程池参数简单分析的主要内容,如果未能解决你的问题,请参考以下文章