首页 > 试题广场 >

socket编程,BIO,NIO,epoll?

[问答题]
请介绍一下,socket编程的三种通信模型,BIO,NIO,AIO 
BIO是同步阻塞IO,NIO是同步非阻塞IO,AIO是异步非阻塞IO;三种IO方式相比较而言,BIO是一个客户端对应一个线程,优化的话可以用线程池进行线程复用,但本质还是一个客户端-服务端通信对应一个线程;NIO只需要一个线程负责多路复用器selector的轮询,就可以处理不同客户端channel中的读/写事件,所以多个客户端实际只对应一个线程,另外服务器端和客户端均使用缓冲区的方式进行读写;AIO不需要过多的多路服务器selector即可实现异步读写,可以理解为简化版的NIO;
发表于 2019-03-08 22:03:55 回复(0)
BIO是同步阻塞IO,NIO是同步非阻塞IO,AIO是异步非阻塞IO;三种IO方式相比较而言,BIO是一个客户端对应一个线程,NIO是多个客户端对应一个线程,服务器端和客户端均使用缓冲区的方式进行读写,AIO是简化的NIO;
发表于 2019-03-04 16:59:33 回复(0)
365
发表于 2020-04-30 09:25:34 回复(0)