epoll效率高的原因是什么?请对比select的遍历机制,并解释epoll红黑树的效率优势。
考察说明
考察对Linux IO多路复用机制的理解,尤其是epoll与select的差异及数据结构的效率
回答思路
- 能说明select每次调用需要将fd集合从用户态拷贝到内核态并线性遍历所有fd
- 能说明epoll通过事件驱动回调机制避免无差别轮询,只处理就绪事件
- 能解释epoll的红黑树用于管理监听fd,增删改查复杂度为O(log n)
- 能指出就绪列表(rdlist)直接返回就绪fd,无需遍历全部fd
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。