提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言`
一、epoll的好处
- 相较于select模型,epoll没有文件描述符数目的限制。
- 工作效率不会随着文件描述符的增加而下降,在select中由于要频繁对所有文件描述符进行遍历,因此工作效率会受到影响。
- epoll经过系统优化更加高效,有内核级别的优化。
二、epoll事件的触发模式
- level trigger没有处理则会进行反复发送(水平触发,select属于这种)
- edge trigger: 只发送一次(边缘触发,epoll属于这种,开发难度更高)
三、 epoll重要的API
- int epoll_create()
- int epoll_ctl(epfd, op, fd, struct epoll_event * event)
- int epoll_wait(epfd, events, maxevents, timeout)
四、epoll的事件
- EPOLLET
- EPOLLIN
- EPOLLOUT
- EPOLLPRI
- EPOLLERR
- EPOLLHUP
五、epoll_ctl相关操作和结构体
- EPOLL_CTL_ADD
- EPOLL_CTL_MOD