请解释边缘触发与水平触发的区别,并说明在多线程处理同一文件描述符时如何使用 EPOLLONESHOT 保证 IO 事件处理正确性。
考察说明
考察 epoll 触发模式差异及多线程场景下的事件处理边界
回答思路
- 准确区分边缘触发与水平触发的触发条件与重复通知行为
- 说明边缘触发需配合非阻塞 IO 和循环读取以处理粘包/阻塞
- 解释 EPOLLONESHOT 在多线程下防止多个线程同时处理同一 fd
- 讨论 EPOLLONESHOT 后需重新注册 fd 的时机与注意事项
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。