epoll下的LT与ET对比
发布时间
阅读量:
阅读量
文章结构概览
在epoll机制中,用于处理文件描述符的两种操作方式分别为lt和et,其中lt属于一种效率较高的poll实现方式,而et则代表了epoll的高效运行模式。
| lt | 当检测到epoll_wait 上有就绪事件的时候,可以不立即执行,当下次再次调用epoll_wait时还会提醒 |
|---|---|
| et | 当检测到epoll_wait 上有就绪的事件的时候,就必须处理该事件,否则下次调用epoll_wait 的时候,也不会提醒。 |
例如: 客户端将数据传输至服务器,
在LT模式中,若服务端未能一次性读取所有数据,epoll_wait将会持续触发通知,直至所有数据被完整读取完毕。
而在ET模式中,若未完成全部数据的读取操作,则epoll_wait将不再发出提醒,此时未读取的数据仍保留在接收方的缓冲区中。
通过执行netstat -napt命令,可以查看接收缓冲区中的相关信息。
以下为LT模式下的代码实现示例
#include <sys/epoll.h>
#include <poll.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <arpa/inet.h>
#include <
全部评论 (0)
还没有任何评论哟~
