IO通信

BIO(Buffer Input/ Output ,同步的通信模式 )

一请求一线程

一个线程负责连接

缺点,缺乏弹性伸缩,并发大的时候线程处理不过来(有n个客户端,统一acceptor接收,然后服务端就会创建n个线程)

BIO


伪异步IO通信

利用线程池负责连接,m请求n回答

但线程池会阻塞,线程池会设置最大线程数,消息队列大小,当客户端数据量太大就处理慢(线程池会阻塞

伪异步IO


NIO通信(非阻塞同步的通信模式)

使用缓冲区Buffer(在读写的时候,都是先从缓冲区读,先写入缓冲区)

有通道Channel(双向的,可以用读写同时进行)

多路复用器(不断地轮询channel,无最大连接数限制)

AIO通信(非阻塞异步的通信模式)

连接注册读写事件和回调函数

读写方法异步

主动通知程序

(不需要 多路复用器不断地轮询channel,简化了操作模型)

你可能感兴趣的:(IO通信)