如何透彻理解Linux的epoll模型 (可有好的英文资料)?

发布于 2022-09-04 20:33:58 字数 348 浏览 14 评论 0

实际现象

  • 看了很多中文博客, 但是没有收获, 感觉都在挠痒痒

  • 搜索了英文资料, 没有搜索到很好的( 也是挠痒痒 )

  • 感觉最好的维基百科的资料, 但是仍然无法助我透彻理解

预期现象

  • 能彻底搞懂epoll模型

  • 从原理, 从全局去弄懂epoll

上下文环境

  • 产品版本:

  • 操作系统: Linux

  • epoll + select

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

◇流星雨 2022-09-11 20:33:58

gitbook上有本书叫libevent深入浅出,里面谈到了epoll,觉得讲的还挺好的

寻梦旅人 2022-09-11 20:33:58

楼主的问题其实很难简单说明白,我先说下我的观点,可能太基础,权当抛砖引玉:

要深入理解eoll,我觉得是建立在这样的基础之上的:

1:理解IO多路复用机制。我曾经尝试着回答过这个问题 I/O多路复用的应用场合疑问? 就像答案中说到,这只是一种高效处理socket连接的策略。

2:为什么要使用IO多路复用机制?也就是传统多进程/多线程模型的缺点是什么?怎么理解IO多路复用(select)?

3:这样的话其实EPOLL也只是帮我们解决了管理多个socket的问题,那用epoll管理有哪些特点呢?

  1):回调机制
  2):内核中红黑树组织数据结构,方便增删
  3):mmap提高效率

那对于这些特点,就分开再去看了,把握了整体的原理,局部的细节如果到了看源码的地步也可以去看源码。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文