实际现象
看了很多中文博客, 但是没有收获, 感觉都在挠痒痒
搜索了英文资料, 没有搜索到很好的( 也是挠痒痒 )
感觉最好的维基百科的资料, 但是仍然无法助我透彻理解
预期现象
能彻底搞懂epoll模型
从原理, 从全局去弄懂epoll
上下文环境
产品版本:
操作系统: Linux
epoll + select
看了很多中文博客, 但是没有收获, 感觉都在挠痒痒
搜索了英文资料, 没有搜索到很好的( 也是挠痒痒 )
感觉最好的维基百科的资料, 但是仍然无法助我透彻理解
能彻底搞懂epoll模型
从原理, 从全局去弄懂epoll
产品版本:
操作系统: Linux
epoll + select
楼主的问题其实很难简单说明白,我先说下我的观点,可能太基础,权当抛砖引玉:
1:理解IO多路复用机制。我曾经尝试着回答过这个问题 I/O多路复用的应用场合疑问? 就像答案中说到,这只是一种高效处理socket连接的策略。
2:为什么要使用IO多路复用机制?也就是传统多进程/多线程模型的缺点是什么?怎么理解IO多路复用(select)?
3:这样的话其实EPOLL也只是帮我们解决了管理多个socket的问题,那用epoll管理有哪些特点呢?
1):回调机制
2):内核中红黑树组织数据结构,方便增删
3):mmap提高效率
那对于这些特点,就分开再去看了,把握了整体的原理,局部的细节如果到了看源码的地步也可以去看源码。
1 回答1.3k 阅读✓ 已解决
3 回答952 阅读✓ 已解决
1 回答751 阅读✓ 已解决
1 回答1.6k 阅读
1 回答914 阅读✓ 已解决
2 回答711 阅读✓ 已解决
2 回答856 阅读✓ 已解决
gitbook上有本书叫libevent深入浅出,里面谈到了epoll,觉得讲的还挺好的