Skip to content

Latest commit

 

History

History
7 lines (4 loc) · 740 Bytes

O多路复用和多线程.md

File metadata and controls

7 lines (4 loc) · 740 Bytes

I/O多路复用和多线程

I/O多路复用可以用一个进程或者线程通过收集活跃的连接来支持并发。

而多线程或者多进程,为了处理大量的请求,则需要创建大量的线程或者进程来接收和处理请求,这样大量进程或者线程切换会带来无谓的系统资源消耗。

其实单个进程不使用I/O多路复用也是可以处理多个文件描述符的,只需要设置为非阻塞的,然后去测试是否可读或者可写。但是,这样的话,效率非常的低,会一直循环,所以进程会一直占用CPU。而基于事件的I/O多路复用,则可以由硬件(中断)和操作系统配合来收集活跃的连接,进程可以不用一直占用CPU。