视频地址:
腾讯面试:请描述 select、poll、epoll 这三种IO多路复用技术的执行原理_哔哩哔哩_bilibili
Select
Select IO 多路复用的执行原理
- 将当前进程的所有文件描述符,一次性的从用户态拷贝到内核态。
- 在内核中快速的无差别遍历每个 fd,判断是否有数据达到。
- 将所有 fd 状态,从内核态拷贝到用户态,并返回已就绪 fd 的个数。
- 在用户态遍历判断具体哪个 fd 已就绪,然后进行相应的事件处理。
Select IO 多路复用的限制和不足
- 文件描述符表为 bitmap 结构,且有长度为 1024 的限制。
- fdset 无法做到重用,每次循环必须重新创建。