netty学习-2.IO模型

1.IO模型:用什么样的通道进行数据的发送和接收

2.IO模型的模式
BIO
NIO
AIO

3.bio:同步并阻塞(java的传统io模型)
服务器的一个连接一个线程,有连接的请求的时候需要启动一个线程去处理,如果这个连接不做任何事情会造成不必要的线程开销

  示意图:


场景分析:
连接数目固定比较小 对服务器的资源要求比较高,并发局限在应用中。

4.nio:同步非阻塞
服务器实现模式是一个线程处理多个请求(连接) 即客户端发送的连接请求都会注册到多路复用器中(selector),多路复用器会轮询到连接有IO请求进行处理。

  示意图:

  场景分析:
        连接数目比较多 连接诶比较短  比如聊天服务器,弹幕系统,服务器之间的通信  
         jdk1.4支持

5.aio:异步非阻塞(没有广泛应用)
异步通道,采用Proactor模式,有效的请求才启动线程。

  场景分析:
        连接数目比较多 连接诶比较长   比如相册服务器    
        JDK1.7支持
posted @ 2021-01-13 20:56  进丁520  阅读(56)  评论(0)    收藏  举报