多路复用器的诞生,雏鹰版,批量询问IO是否就绪
核心总结
- 每次都把用户进程所有fd集合拿去询问操作系统IO是否准备就绪
- 用户态fd集合拷贝到内核态消耗资源
- select()返回是否存在就绪IO,还需要循环调用read()去判断那个fd就绪,如果10w个fd只有100个fd准备就绪,任然需要调用read()很多次,且很多空调用,浪费资源;
- select() 入参fd集合在OS做了限制,最大1024
- 批量比单个效率提高了,但是任然存在大量空调用
2024-01-03 11:53:28
多路复用器的诞生,雏鹰版,批量询问IO是否就绪
核心总结