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支持

浙公网安备 33010602011771号