tomcat和netty为甚能作为运行项目的组件,而且是如何 接收数据包处理数据包的

1.首先 我们浏览器,服务器(java网络编程),线程指令是网络IO指令,cpu执行网络IO指令,网线接口是系统资源被此线程占用,IO通道有2个,并且

为什么tomcat能做为 运行项目的 组件

2.数据包 通过网线发送到 tomcat服务器一端网线接口,tomcat此时主线程,从线程池中 取一个线程,并执行线程中的 网络IO指令,开启两条IO通道,一条用于接收处在网线接口的数据包,然后将数据包 用解析器 解析出来,封装到 request和response中,然后关闭接收数据的通道,然后调用 servlet(request,response作为传参)并执行,然后 从另一个通道写数据,写完后关闭通道,然后线程 在线程池中变为就绪态并没有指令,等待下次再次分配指令执行,从这一步可以看出,不管是 发送端 执行网络IO指令,开启两条通道,发数据,还是 tomcat执行网络IO指令,开启IO通道,都是2个IO通道

3.tomcat之所以能运行项目,就是因为能 开启两条IO通道,接收数据包,发送数据包

4.tomcat的,IO指令是,阻塞IO指令,即线程在 执行IO指令的时候,线程是阻塞状态的,不能获得 cpu执行权

5.而 netty 也可以开启两条通道,接收数据包,发送数据包,但是 与 tomcat不同的是,netty的 IO指令是,非阻塞IO,它是基于IO多路复用技术(例如Reactor模式)实现,只需要一个线程或者少量线程,就可以处理大量请求。从性能上来说NIO实现的服务器并发性一般大于BIO,所以可以实现高性能的服务器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值