美文网首页
线程池(三)线程池的7大参数入门简介

线程池(三)线程池的7大参数入门简介

作者: 香山上的麻雀 | 来源:发表于2020-02-03 12:49 被阅读0次

一、ThreadPoolExecutor

1.1 线程池底层是ThreadPoolExecutor

1.2 构造器

public ThreadPoolExecutor(int corePoolSize,
                          int maximumPoolSize,
                          long keepAliveTime,
                          TimeUnit unit,
                          BlockingQueue<Runnable> workQueue,
                          ThreadFactory threadFactory,
                          RejectedExecutionHandler handler) {
    if (corePoolSize < 0 ||
        maximumPoolSize <= 0 ||
        maximumPoolSize < corePoolSize ||
        keepAliveTime < 0)
        throw new IllegalArgumentException();
    if (workQueue == null || threadFactory == null || handler == null)
        throw new NullPointerException();
    this.corePoolSize = corePoolSize;
    this.maximumPoolSize = maximumPoolSize;
    this.workQueue = workQueue;
    this.keepAliveTime = unit.toNanos(keepAliveTime);
    this.threadFactory = threadFactory;
    this.handler = handler;
}

二、参数说明

1、corePoolSize 线程池常驻核心线程数
创建线程池后,当有请求任务来之后,就会安排池中线程去执行请求任务,近似理解为今日当值线程。
当线程池中的线程数目达到了corePoolSize后,就会把任务放到缓存队列中;
2、maxmumPoolSize:
线程池能够容纳同时执行的最大线程数,此值必须大于等于1
3、keepAliveTime:多余空闲线程的存活时间。
当前线程池的数量超过corePoolSize时,当空闲时间达到keepAliveTime值时,多余空闲线程会被销毁直到只剩下corePoolSize个线程为止。
4、unit:keepAliveTime的时间单位
5、workQueue:任务队列,被提交但未被执行的任务
6、threadFactory:表示生成线程池中线程的线程工厂,用于创建线程,一般用默认的即可
7、handler:拒绝策略,表示当队列满了并且工作线程大于等于线程池的最大线程数(maxmumPoolSize)

相关文章

  • 线程池(三)线程池的7大参数入门简介

    一、ThreadPoolExecutor 1.1 线程池底层是ThreadPoolExecutor 1.2 构造器...

  • Java线程总结 之 ThreadPool 线程池

    线程脑图 ThreadPool 线程池 线程池的构造参数 ----------------------------...

  • 线程池工具

    功能简介 固定线程、限制最大队列长度的自定义线程池; 定制线程池加载任务、子线程各种参数,如分页大小、是否子线程出...

  • 线程以及java线程池实现分享

    线程以及java线程池实现分享 线程简介 JDK线程池的工作原理 JDK线程池的实现细节 1.线程简介-由来 1....

  • 线程池概述

    为什么要使用线程池? 线程池核心参数 线程池的几种拒绝策略 execute()和submit()的区别 线程池工作...

  • ThreadPool

    线程池核心参数 corePoolSize: int 核心线程数 线程池初始化后,线程池中没有任何线程,线程池会等待...

  • Android 线程池原理

    线程池核心类 : ThreadPoolExecutor:提供了一系列参数来配置线程池 线程池优点: 1.重用线程池...

  • java基础-多线程

    java线程池的实现 ThreadPoolExecutor java线程池几个参数 corePoolSize当线程...

  • 线程池核心参数

    线程池核心参数 1)corePoolSize(线程池基本大小) 2)maximumPoolSize(线程池最大数量...

  • 线程池参数的合理设置

    一:线程池参数简介 ThreadPoolExecutor类可设置的参数主要有:corePoolSize:核心线程1...

网友评论

      本文标题:线程池(三)线程池的7大参数入门简介

      本文链接:https://www.haomeiwen.com/subject/gclhxhtx.html