← Home

Thread Pool Executor 运行细节

25 August, 2020

先说说线程池本身, 由于线程资源本身在计算机中比较昂贵, 创建和销毁都有相当的开销, 所以在一些处理简单但是并发量大的场景使用一个请求对应一个线程的是不明智的选择.

ThreadPoolExecutor是Java中线程池的一种实现. 构造函数如下:

public ThreadPoolExecutor(int corePoolSize, // 核心线程数量
                              int maximumPoolSize, // 最大线程数量
                              long keepAliveTime, // 存活时间
                              TimeUnit unit, // 时间单位
                              BlockingQueue<Runnable> workQueue // 来个列队
                        ) {
        this(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue,
             Executors.defaultThreadFactory(), defaultHandler);
    }

提交任务时的运行如下: