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等。

1
0

翔仔

2020-08-26

同学好,理解的没错,epoll就是AIO的底层实现:关于NIO同学理解也是对的,同步就是线程要时不时过来看一下数据有没有准备好。

0
2
翔仔
回复
GreyFoss
同学好,是的,主要就是调用linux底层的库
2020-12-15
共2条回复

剑指Java面试-Offer直通车 百度资深面试官授课

招聘季即将到来,让百度资深面试官来为你的高薪Offer保驾护航

8427 学习 · 1870 问题

查看课程