浅谈epoll的水平触发与边沿触发

本文详细阐述了I/O多路复用模型中水平触发(LT)与边沿触发(ET)的区别,并通过epoll的具体案例,展示了两种模式下父进程如何处理子进程发送的数据。

概念

若监听的套接字描述符上有数据可读或可写,LT模式(水平触发)和ET模式(边沿触发)两种模式对应不同的通知模式。
        LT模式会不断的通知监听的套接字有数据可读或可写(对应套接字的读缓冲区不为空或写缓冲区不为满)
        ET模式只仅仅通知一次监听的套接字有数据可读或可写,除非缓冲区状态变化(读缓冲区由空变为非空,写缓冲区由满变为非满)才去通知相应事件。

几种IO复用模型对应的监听套接字的触发模型如下:

I/O模式 水平触发 边沿触发
select(), poll() 支持 不支持
信号驱动I/O 不支持 支持
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值