I/O多路复用和多线程 I/O多路复用可以用一个进程或者线程通过收集活跃的连接来支持并发。 而多线程或者多进程,为了处理大量的请求,则需要创建大量的线程或者进程来接收和处理请求,这样大量进程或者线程切换会带来无谓的系统资源消耗。 其实单个进程不使用I/O多路复用也是可以处理多个文件描述符的,只需要设置为非阻塞的,然后去测试是否可读或者可写。但是,这样的话,效率非常的低,会一直循环,所以进程会一直占用CPU。而基于事件的I/O多路复用,则可以由硬件(中断)和操作系统配合来收集活跃的连接,进程可以不用一直占用CPU。