初识线程池我们知道,线程的创建和销毁都需要映射到操作系统,因此其代价是比较高昂的。出于避免频繁创建、销毁线程以及方便线程管理的需要,线程池应运而生。线程池设计思路有句话叫做艺术来源于生活,编程语言也是如此,很多设计思想能映射到日常生活中,比如面向对象思想、封装、继承,等等。今天我们要说的线程池,它同样可以在现实世界找到对应的实体――工厂。先假想一个工厂的生产流程:工厂中有固定的一批工人,称为正式工人,工厂接收的订单由这些工人去完成。工厂只能临时扩招一批工人来应对生产高峰,而这批工人高峰结束后是要清退的,所以称为临时工。映射后,形成线程池流程图如下,两者是不是有异曲同工之妙?

深入理解Java线程池从设计思想到源码解读

深入理解Java线程池从设计思想到源码解读

深入理解Java线程池从设计思想到源码解读

深入理解Java线程池从设计思想到源码解读

深入理解Java线程池从设计思想到源码解读

深入理解Java线程池从设计思想到源码解读

深入理解Java线程池从设计思想到源码解读

深入理解Java线程池从设计思想到源码解读

深入理解Java线程池从设计思想到源码解读

深入理解Java线程池从设计思想到源码解读

深入理解Java线程池从设计思想到源码解读

深入理解Java线程池从设计思想到源码解读

深入理解Java线程池从设计思想到源码解读

深入理解Java线程池从设计思想到源码解读

深入理解Java线程池从设计思想到源码解读

深入理解Java线程池从设计思想到源码解读

深入理解Java线程池从设计思想到源码解读

深入理解Java线程池从设计思想到源码解读

深入理解Java线程池从设计思想到源码解读

深入理解Java线程池从设计思想到源码解读

深入理解Java线程池从设计思想到源码解读

深入理解Java线程池从设计思想到源码解读

深入理解Java线程池从设计思想到源码解读

深入理解Java线程池从设计思想到源码解读

深入理解Java线程池从设计思想到源码解读

深入理解Java线程池从设计思想到源码解读

深入理解Java线程池从设计思想到源码解读

深入理解Java线程池从设计思想到源码解读

深入理解Java线程池从设计思想到源码解读

深入理解Java线程池从设计思想到源码解读