首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

tomcat 源码分析之-请求接受以及缓冲池

2012-10-08 
tomcat 源码分析之--请求接受以及缓冲池tomcat? 从接受请求到处理的流程大概如下:?首先配置文件中的connec

tomcat 源码分析之--请求接受以及缓冲池

tomcat? 从接受请求到处理的流程大概如下:

?

首先配置文件中的connector都对应一个Connector类,这个类根据配置信息确定对应的

ProtocalHandler(处理connector配置对应的协议).

?

?

?? 抛开其他代码,注意上面方法里面的这一句:protocolHandler.start();
?? 比如http1.1协议对应的ProtocalHandler是:Http11Protocol。

?? 而这个ProtocalHanler依靠一个对应的EndPoint对象来处理请求,http11protocal的start方法代码

? 如下:

?

??

?

??? 注意其中的代码:??????? endpoint.start();

?? Endpoint是对应的protocalhandler的工具类,每个endpoinst都监听一个对应的ServerSocket并且处理请求,start方法代码如下:

??

?

?? 很容易看出,其实tomcat的请求监听也不是单线程的,有多个线程在进行监听。那么每个监听线程在监听到socket请求之后做什么工作呢?就是处理socket.这是通过调用Endpoint的processSocket方法实现的:

?

    protected void recycleWorkerThread(Worker workerThread) {        synchronized (workers) {            workers.push(workerThread);            curThreadsBusy--;            workers.notify();        }    }

??

至此,一个缓冲池轻松实现了。

??? ??

热点排行