技术开发 频道

Tomcat处理HTTP请求:Connector源码

  在setSocketOptions方法中,首先将socket配置成非阻塞模式:

  其中attachment的结构如下,它可以看做是一个共享的数据结构:

  4. Poller线程读请求、生成响应数据、注册WRITE事件

  在上面说的setSocketOptions方法中调用Poller线程的register方法注册读事件之后,当READ准备就绪之后,就开始读了。下面代码位于Poller线程的run方法之中:

  可以看到,可读之后调用processSocket方法,该方法将读处理操作委拖给线程池处理(注意此时加入到线程池的是NioChannel,不是SocketChannel):

0
相关文章