Java线程池核心参数详解

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

Java工具类ExecutorService提供了6种自动创建线程池的方法,实际都是基于一种手动创建线程池的方法来实现的,下面来了解这种手动创建线程池的构造函数,以下是源码:

    public ThreadPoolExecutor(int corePoolSize,
                              int maximumPoolSize,
                              long keepAliveTime,
                              TimeUnit unit,
                              BlockingQueue<Runnable> workQueue,
                              ThreadFactory threadFactory,
                              RejectedExecutionHandler handler)

包含了7个参数,分别是:

核心线程数corePoolSize

最大线程数maximumPoolSize

闲置可存活时间keepAliveTIme

时间单位unit

任务队列workQueue

线程工厂threadFactory

拒绝策略handler

前言:当有任务到达线程池时的流程

(1)判断线程池的线程数是否到达了核心线程数corePoolSize,如果没有到达,则新建线程运行任务;

(2)如果线程池的线程数达到了核心线程数corePoolSize,则判断任务队列workQueue是否已满,未满则将新的任务提交到任务队列中;

(3)如果任务队列已满࿰

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: Java