什么是池化技术
核心思想是资源的复用, 把多个线程都放进池子里面去管理, 用的时候直接从池子里取, 不用的时候在放回池子. 从而规避掉线程创建和销毁的性能开销.
线程池的七大参数
- 核心线程数: 可以理解成最小核心线程数, 就是 长期存活的线程有多少个
- 最大线程数: 线程池允许的最大线程数,当线程池的队列满了之后可以创建最大线程,最大线程数量不包含核心线程数量
- 空闲线程存活时间: 当没有任务执行的时候,空闲线程存活多久之后会进行线程销毁的操作
- 时间单位: 空闲线程的存活时间单位
- 线程队列: 阻塞队列,线程池存放待执行任务的队列。
- 线程工厂: 创建线程的工厂类
- 拒绝策略: 当线程池的任务超出了任务队列可以存储的最大值以后,执行的策略。默认有四种策略
- 拒绝并抛出异常 (默认策略)
- 使用当前线程来执行任务 (默认调整策略)
- 抛弃队列头节点的任务,并执行当前任务
- 忽略并抛弃当前任务
参考