epollin和epollet事件
时间: 2024-01-24 16:50:07 浏览: 24
EPOLLIN事件是指当对端有数据写入时才会触发的事件。也就是说,只有在接收到数据时才会触发EPOLLIN事件。
EPOLLET事件是指边缘触发方式,只在状态变化的时刻触发一次。对于EPOLLET事件的触发条件,有一些需要注意的地方。在写操作时,如果发送缓冲区已满且返回错误码为EAGAIN,或者对端读取了一些数据后又重新可写,那么就会触发EPOLLOUT事件。而对于EPOLLIN事件,只有在对端有数据写入时才会触发,因此需要不断读取所有数据直到读完EAGAIN为止。否则剩下的数据只能在下次对端有写入时才能一起取出来。
总之,EPOLLIN事件是指接收到数据时触发的事件,而EPOLLET事件是指边缘触发方式,在状态变化时触发一次的事件。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [简述Linux Epoll ET模式EPOLLOUT和EPOLLIN触发时刻](https://blog.csdn.net/psq1508690245/article/details/118052554)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]