线程池参数简单分析

Posted 扛把子们吃起来吧

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线程池参数简单分析相关的知识,希望对你有一定的参考价值。

       jdk自实现的线程池都是对ThreadPoolExecutor的重新定义,下面看下ThreadPoolExecutor各个参数,了解并记录一下;

1 : 构造函数

 public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> 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()


以上是关于线程池参数简单分析的主要内容,如果未能解决你的问题,请参考以下文章

Java线程池详解

Java线程池详解

Java 线程池详解

Java线程池详解

线程池ThreadPoolExecutorExecutors参数详解与源代码分析

Motan在服务provider端用于处理request的线程池