线程池的优点
在学习线程池之前,我们要先了解一下为什么要使用线程池,也就是说使用线程池的好处是什么,线程池有哪些优点:
- 降低资源消耗:通过重复利用已创建的线程降低线程创建和销毁所造成的消耗;一般情况下使用线程,是在使用时创建,使用完销毁,十分消耗资源。
- 提高响应速度:当任务到达时,任务可以不需要等待线程创建就可以立即执行;
- 提高现成的可管理性:线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行同体的分配,调优和监控
线程池组成部分
- 线程池管理器:用于创建并管理线程池
- 工作线程:线程池中的线程
- 任务接口:每个任务必须实现的接口,以供工作线程调度任务的执行
- 任务队列:用于存放没有处理的任务,提供一种缓冲机制
ThreadPoolExecutor重要参数
- 核心线程数:
默认值:corePoolSize=1 - 任务队列容量(阻塞队列):
默认值:queueCapacity=Integer.MAX_VALUE - 最大线程数:
默认值:maxPoolSize=Integer.MAX_VALUE - 线程空闲时间:
默认值:keepAliveTime=60s - 允许核心