线程池是基于生产者-消费者模型来设计的,这个模型、思想很简单,但是对于一个真正的工业级的轮子,在设计上面是有很多考量的,比如如何动态地调整线程数目、当运行中的线程发生异常时如何保障线程池中的线程数量、提供hook函数方便用户扩展定制化自己想要的线程池、当线程池任务堆满的时候如何拒绝,线程池空闲的时候,最大线程数如何递减到核心线程数,核心线程在空闲的时候是否能够被回收,线程池状态的流转过程是怎么设计的等等…如果你对线程池的这些底层原理感兴趣的话,可以参考下我的这篇文章,喜欢的朋友可以点个赞~:https://www.jianshu.com/p/15f10a5bf2f4