Poll 与 Epoll
最后更新于:2022-04-02 04:02:58
[TOC]
## 概述
Epoll是poll的改进版,更加高效,能同时处理大量文件描述符,跟高并发有关
## Poll
- Poll本质上是Linux系统调用
- **作用**是监控资源是否可用。
- poll会**轮询**整个**文件描述符集合**
## Epoll
- epoll可以做到只查询被内核IO事件**唤醒的集合**
### 实现
- epoll是基于文件描述符的callback函数来实现的,只有发生IO时间的socket会调用callback函数,然后加入epoll的Ready队列。
- 更多实现细节可以参考Linux源码,
### Mmap
- 无论是select、poll还是epoll,他们都要把文件描述符的消息送到用户空间
- 这就存在内核空间和用户空间的内存拷贝。其中epoll使用mmap来共享内存,提高效率
';