- 线程池
- JDK中线程池的使用
- ExecutorService接口的实现类
- 提交线程
- 终止线程
- 线程池的创建
- 4种线程池
- 定时器线程池
- ThreadPoolExecutor子类的核心类构造方法参数
- 线程池的工作流程
- 线程池构造方法参数
- JDK内置的4种线程池
- 线程池的使用建议
线程池最大的好处就是减少每次启动、销毁线程的损耗。
描述线程池的核心类,最常用的一个子类–ThreadPoolExecutor
这个类的构造方法就是创建一个线程池的所有核心参数.
为了简化线程池的使用:
线程池的核心父接口`ExecutorService
ExecutorService接口的实现类ThreadPoolExecutor类的实现方法
- 执行任务:
接收一个Runnable对象并执行线程.
ExecutorService接口中方法
public class ThreadPoolTest {
public static void main(String[] args) {
//固定大小线程池
ExecutorService pool = Executors.newFixedThreadPool(10);
//数量动态变化的缓存池
ExecutorService pool1 = Executors.newCachedThreadPool();
//只包含一个线程的单线程池
ExecutorService pool2 = Executors.newSingleThreadExecutor();
//定期线程池,可以设置任务的延时启动时间(Timer类的线程池的实现)
ExecutorService pool3 = Executors.newScheduledThreadPool(10);
}
}
定时器线程池
ThreadPoolExecutor子类的核心类构造方法参数
线程池的工作流程
线程池构造方法参数
JDK内置的4种线程池
- 固定大小线程池
- 数量动态变化的缓存池
- 单线程池
- 定期线程池
单线程池的意义:只用创建和销毁一次线程
线程池的使用建议比如:有10个线程任务,就要创建和销毁线程10次,使用单线程池就只需要创建和销毁一次,一次只服务于一个线程,其他线程等待.(类似于小本生意)
阿里编码规约∶尽量不要使用内置线程池,最好根据实际的业务需求,定制线程池自己new ThreadPoolExector对象,传递相应的参数
核心:线程池的工作流程,线程池的各个参数



