欢迎光临
我们一直在努力

深入理解 epoll 事件:EPOLLIN / EPOLLOUT 与水平/边缘触发

在 Linux 高性能网络编程中,epoll 是无可争议的利器。而要真正用好 epoll,必须透彻理解两个核心事件(EPOLLIN、EPOLLOUT)以及两种工作模式(水平触发 LT、边缘触发 ET)。本文基于实际问答场景,系统地梳理这些概念,并澄清常见误区。

一、EPOLLIN 与 EPOLLOUT:可读与可写

epoll 通过事件通知应用程序:某个文件描述符(通常是 socket)已经准备好进行 I/O 操作。

事件
含义
典型触发场景
EPOLLIN 接收缓冲区有数据可读 • 收到新数据• 对端关闭连接(FIN)• 监听 socket 上有新连接• 发生错误
EPOLLOUT 发送缓冲区有空间可写 • 刚添加描述符且缓冲区未满• 发送缓冲区从“满”变为“不满”• 非阻塞 connect() 成功

关键点

赞(0)
未经允许不得转载:171主机测评 » 深入理解 epoll 事件:EPOLLIN / EPOLLOUT 与水平/边缘触发
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址