【Netty】二、IO模型
1、Java IO模型
BIO 同步并阻塞 传统阻塞型 一个连接对应一个线程
当客户端请求的时候服务器端会启动一个线程处理
缺点:客户端很多的时候,很产生大量线程,产生不必要开销。
NIO 同步非阻塞 一个线程可以处理多个请求,客户端发送的请求注册到
多路复用器上,通过轮询来连接I/O请求。
AIO 异步非阻塞 异步通道 ,有效的请求才会启动线程。
2、使用场景
BIO适用于连接数目小,对服务器要求高。程序简单易理解
NIO适用于连接数目多,连接短的架构。比如聊天服务器。
AIO适用于连接数目多,连接长的架构。比如相册,调用OS参与并发操作。