- X轴为句柄数
- Y轴为响应时间
- 可以看到epoll几乎不受句柄数的增加的影响
epoll事件驱动模型的原理
epoll与poll的比较
-
epoll存储活跃的连接,每次只处理活跃的连接数量占比很小
-
poll是每次将所有的连接交给操作系统去遍历,找出活跃的连接,因此连接越多
-
耗时越长
epoll 如何实现只处理活跃连接
-
epoll实现了eventpoll数据结构
-
数据结构中rdlist将活跃连接存储在链表中,当网卡发送报文时,增加节点,当读取一个事件后,链表删除节点,需要得到活跃连接就只需要遍历链表
-
数据结构中rdr使用红黑树(自平衡二叉树)将事件存储,例如:当有读事件时,就新增节点,事件复杂度为logN
扫码二维码 获取免费视频学习资料
- 本文固定链接: http://www.phpxs.com/post/7457/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料
查 看2022高级编程视频教程免费获取