java高并发系列 - 第18天:JAVA线程池
这是java高并发系列第18篇文章。
本文主要内容
- 什么是线程池
- 线程池实现原理
- 线程池中常见的各种队列
- 自定义线程创建的工厂
- 常见的饱和策略
- 自定义饱和策略
- 线程池中两种关闭方法有何不同
- 扩展线程池
- 合理地配置线程池
- 线程池中线程数量的配置
什么是线程池
大家用jdbc操作过数据库应该知道,操作数据库需要和数据库建立连接,拿到连接之后才能操作数据库,用完之后销毁。数据库连接的创建和销毁其实是比较耗时的,真正和业务相关的操作耗时是比较短的。每个数据库操作之前都需要创建连接,为了提升系统性能,后来出现了数据库连接池,系统启动的时候,先创建很多连接放在池子里面,使用的时候,直接从连接池中获取一个,使用完毕之后返回到池子里面,继续给其他需要者使用,这其中就省去创建连接的时间,从而提升了系统整体的性能。
线程池和数据库连接池的原理也差不多,创建线程去处理业务,可能创建线程的时间比处理业务的时间还长一些,如果系统能够提前为我们创建好线程,我们需要的时候直接拿来使用,用完之后