总结
IO多路复用
1. 什么是IO多路复用? IO多路复用到底带来什么好处?
在没有多进程或者多线程的情况下,通过一个进程(主线程)内完成多个客户端socket的io处理
2. select是如何实现的?它的问题有哪些?
select遗留问题
- 监控client socket受限
- 内部使用遍历的方式检查可读写的client socket,在在大量client socket时效率很低
3. poll是什么?poll解决了什么?poll遗留了什么问题?
poll其实和select差不多,poll唯一解决的问题就是client socket的受限问题,获取读写socket时依旧是靠遍历,所以在大量client socket时效率很低的问题还是存在的
4. epoll是什么? epoll是如何解决select和poll的遗留问题?
epoll是poll的升级版,epoll通过事件通知的机制来获取可读写的client socket
5. 什么是事件通知?
6. 水平触发(LT)、边缘触发(ET)? LT和ET的各自的问题在哪? 各自适应什么场景?
参考 & 更多
I/O多路复用技术(multiplexing)是什么? - 知乎用户的回答 - 知乎 https://www.zhihu.com/question/28594409/answer/52835876