ThreadPoolExecutor 构造函数重要参数分析?

发布于 2019-12-27 12:16:03
关注者
0
被浏览
765
1 个回答
  • 面试哥
    面试哥 2019-12-27
    为面试而生,有面试问题,就找面试哥。
    • corePoolSize : : 核心线程数线程数定义了最小可以同时运行的线程数量。
    • maximumPoolSize : 当队列中存放的任务达到队列容量的时候,当前可以同时运行的线程数量变为最大线程数。
    • workQueue: 当新任务来的时候会先判断当前运行的线程数量是否达到核心线程数,如果达到的话,信任就会被存放在队列中。

    ThreadPoolExecutor其他常见参数:

    1. keepAliveTime:当线程池中的线程数量大于 corePoolSize 的时候,如果这时没有新的任务提交,核心线程外的线程不会立即销毁,而是会等待,直到等待的时间超过了 keepAliveTime才会被回收销毁;
    2. unit : keepAliveTime 参数的时间单位。
    3. threadFactory :executor 创建新线程的时候会用到。
    4. handler :饱和策略。关于饱和策略下面单独介绍一下。

    下面这张图可以加深你对线程池中各个参数的相互关系的理解(图片来源:《Java性能调优实战》):

    线程池各个参数的关系


面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看