epoll原理 Java-彻底弄懂netty-程序员不得不理清的epoll原理-知识铺

知识店:致力于打造轻知识点,每次不断更新知识点少,看书也不累。不要占用太多时间,不断唤醒记忆中的知识点。
首先,高效的epoll
Epoll是Linux下高效的复用技术,也是Linux下高性能网络服务器的关键技术。通过网络套接字链接将远程资源加载到本地内存中。如何优化这种性能?
二、爱波尔提出的理由
2.1 .与以前的AIO相比,poll和select有了很大的改进,但由于需要监控“等待队列”和“阻塞过程”,性能仍未完全释放。此时CPU被其他进程拿走,消耗了上下文切换的性能。
【epoll原理 Java-彻底弄懂netty-程序员不得不理清的epoll原理-知识铺】2.2.select必须遍历才能感知到来自该套接字的数据,因此select只能逐个遍历才能唤醒每个socketChanel。
Iii .epoll原理
3.1 epoll监控多个套接字,改进了select维护等待队列,并进一步改进了阻塞过程。分开这两个步骤。
3.2 epoll_ctl维护等待队列
3.3 epoll_wait阻塞队列

epoll原理 Java-彻底弄懂netty-程序员不得不理清的epoll原理-知识铺


文章图片

四.事件调查

epoll原理 Java-彻底弄懂netty-程序员不得不理清的epoll原理-知识铺


文章图片

4.1调用epoll_create方法,将创建一个eventpoll对象。
4.2 eventpoll维护就绪列表。如果有来自套接字的数据,将套接字添加到就绪列表。
4.3阻塞进程收到就绪列表的回调时,可以开始socket数据传输。

    推荐阅读