tomcat源码分析-如何接收连接?如何读数据?

发布时间:2022-12-19 11:30

核心流程

脑图

tomcat源码分析-如何接收连接?如何读数据?_第1张图片

监听端口

核心步骤
1.创建服务器套接字
2.监听端口

tomcat源码分析-如何接收连接?如何读数据?_第2张图片

接收连接

核心步骤:接收客户端连接。

tomcat源码分析-如何接收连接?如何读数据?_第3张图片


总结

接收客户端连接,是一个专门的线程。说白了,就是这个线程,专门干这个事情:只接收客户端连接。从客户端读数据是读线程池处理。

监听读事件

核心步骤
1.监听都事件
不断轮询读事件
2.获取读事件
3.处理读事件
即读数据,最终是交给读线程池读数据

轮询读事件
tomcat源码分析-如何接收连接?如何读数据?_第4张图片

处理读事件
tomcat源码分析-如何接收连接?如何读数据?_第5张图片

具体是交给读线程池处理读数据
tomcat源码分析-如何接收连接?如何读数据?_第6张图片


总结
1.监听事件线程
监听事件是一个独立的线程,专门用于监听事件,本质是不断轮询事件。

2.读数据线程池
最终的读数据是交给读数据线程池去执行。为什么?因为读数据比较慢。

读数据

核心步骤:读数据。

tomcat源码分析-如何接收连接?如何读数据?_第7张图片

tomcat源码分析-如何接收连接?如何读数据?_第8张图片

tomcat源码分析-如何接收连接?如何读数据?_第9张图片

读数据:调用servlet类的service方法
tomcat源码分析-如何接收连接?如何读数据?_第10张图片

架构图

流程图

tomcat源码分析-如何接收连接?如何读数据?_第11张图片

读线程池在哪里创建?

在监听端口的时候,就已经创建了。

tomcat源码分析-如何接收连接?如何读数据?_第12张图片

真正创建读线程池的地方
tomcat源码分析-如何接收连接?如何读数据?_第13张图片

读线程池配置(最小10,最大200-这里就是tomcat默认200的来源)。

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号