Tomcat线程池扩充了java的ThreadPoolExecutor
- tomcat定制了自己的Queue(重写了LinkedBlockingQueue)和ThreadFactory
- 最大线程数(maximumPoolSize)线程池大小有控制,可以通过参数设置
处理流程:
- 前corePoolSize个任务入队,同时在线程池创建一个线程。
- 之后的任务直接放入队列,不创建线程,当任务队列满了就开始创建临时线程。
- 当达到最大线程数,仍旧尝试向队列添加任务(这点和原生线程池有所不同)。
- 添加失败,拒绝服务。