epoll多路复用活跃连接“活跃”的概念是什么样的呢
来源:10-7 Java的IO机制
慕用0097790
2020-08-25
感觉epoll多路复用与AIO有点类似 都是基于一个回调函数来处理
如果epoll也是再事件准备好后通知使用者,那和AIO有什么区别呢?
另外NIO是不是请求IO操作的线程不断询问多路复用器(selector)相应的数据有没有准备好,准备好的话再进行一个读写操作,而不是selector主动调用请求线程,所以是同步的呢?
写回答
2回答
-
GreyFoss
2020-12-14
多路复用相当于操作系统来帮你阻塞监听事件是否到达,当有事件到达的时候就会返回,再根据返回的文件描述符和其类型进程操作,并不需要用户程序去不断轮询,用户程序不断轮询的是非阻塞IO模型,UNP这本书写的很详细。大型网络库框架基本都是基于epoll实现的,比如muduo,Netty,nginx等。
10 -
翔仔
2020-08-26
同学好,理解的没错,epoll就是AIO的底层实现:关于NIO同学理解也是对的,同步就是线程要时不时过来看一下数据有没有准备好。
022020-12-15
相似问题