Tomcat的NIO线程模型

前言

关于Tomcat的线程模型,网上也介绍了很多了,我也不搬过来了(主要是因为懒)
在这里插入图片描述

至于原理嘛,我听一个老师这么说过,框架工具都是别人做出来的,你只能按照别人的思路来理解,毕竟你没有别人那么厉害

说的也是o(╥﹏╥)o,打不过就加入
在这里插入图片描述
所以,我今天也只是分享一种自己比较容易记住的方式,来记住Tomcat的NIO模型,便于自己以后跟别人吹水,同时也分享一下,还请各位看官勿喷

Tomcat的NIO线程模型

Tomcat有三种模型,BIO、NIO、APR,Tomcat8以上版本,默认使用的就是NIO模式,所以我们这里主要(啥主要啊,你就没讲其他的)是讲NIO线程模型
在这里插入图片描述
大致的流程上图已经讲得很详细了,再多的等以后学废了再补充吧
在这里插入图片描述
现在来总结一下上图涉及的几个组件

  1. ACceptor
  2. nioChannel
  3. pollerEvent
  4. Pollerselector
  5. sockeTprocessor

将上面的几个加粗大写字母凑一块,ACCEPT,Tomcat就是用来接收(accept)请求的,嗯,凑合着记吧~

根据这几个组件来回顾大概的流程

  1. 用户请求进来,进入tomcat,首先是由ACceptor接收
  2. 接收完,从缓存中检索nioChannel对象
  3. 接着是由poller池里的poller thread将channel对象注册到pollerEvent事件上
  4. Pollerselector轮询器将channel分配给一个work线程处理请求
  5. 最后sockeTprocessor处理器处理完请求并返回

结语

水…咳咳,到这就差不多了(写太多会没人看得下去的)
在这里插入图片描述
先对tomcat线程模型有个大概印象,对几个比较重要的组件先混个眼熟,以后学tomcat的源码和底层原理才不至于被劝退,最后还是那句老话哈,本文仅供自己学习和分享所用,非商业用途,侵权必删

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值