先来看一下函数原型:
#include <sys/epoll.h>
int epoll_create(int size); //创建内核事件表
int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event); //注册文件描述符
int epoll_wait(int epfd, struct epoll_event *events,
int maxevents, int timeout);
//返回活跃事件
首先epoll是多路复用的一种,什么是多路复用?
IO复用表示多个IO操作复用一个线程。操作系统为你提供一种功能,当某个socket

epoll是IO多路复用的一种,优于select和poll,支持边缘触发(ET)和水平触发(LT)。epoll_wait()获取就绪事件,ET模式下,事件触发一次,避免线程同时处理一个socket。文章介绍了EPOLLONESHORT的作用以及边缘触发的基本设计框架。
最低0.47元/天 解锁文章
917

被折叠的 条评论
为什么被折叠?



