原标题:从 Jetty 9 源码深度剖析线程池
原文作者:黄涛@有赞;博客 www.ph0ly.com
一、前言
很久没写关于Jetty的博客了,这次又为大家带来了干货,Jetty中的重中之重,线程池,希望大家能喜欢~
二、概念
Jetty里面存在大量的基础组件,其中最核心之一就是QueuedThreadPool(后面都简称qtp),它是一个线程池。Jetty默认会使用qtp作为任务任务执行容器,包括连连接的建立、连接处理、IO读写事件、业务处理等等
三、继承体系
QueuedThreadPool实现了LifeCycle,也就是具有生命周期的概念,同时它还是一个有界线程池(SizedThreadPool),实现了JDK的Executor,标识自己也是一个符合JDK规范的线程池
四、总体架构
说到线程池就包括几部分,启动、停止、运行,其中运行的过程包括扩容、缩容、对中断和异常的处理,qtp主要包括如上图的几部分逻辑,其中运行阶段是最核心的部分
五、源码剖析1. 创建
构造函数一层一层调到最后一个方法,只是上面会默认设置一些参数 最后一个方法里面可以看到,设置最小、最大线程数,设置线程存活超时,线程停止超时&#