原因:在不使用IO多路复用技术之前,服务端处理客户端的请求只能采用多进程或多线程的方式,这种方式消耗的系统资源多。举例:1核2GB的虚拟机,大概可以创建一百左右线/进程,即处理一百左右的客户端,实际工作中硬件条件更好,但也只能处理千级别数量的客户端。采用IO复用技术后,最简单的select模型就可以让一个线/进程处理1024个客户端(poll是数千级,epoll是百万级)
IO多路复用
![](https://img-home.csdnimg.cn/images/20240711042549.png)
原因:在不使用IO多路复用技术之前,服务端处理客户端的请求只能采用多进程或多线程的方式,这种方式消耗的系统资源多。举例:1核2GB的虚拟机,大概可以创建一百左右线/进程,即处理一百左右的客户端,实际工作中硬件条件更好,但也只能处理千级别数量的客户端。采用IO复用技术后,最简单的select模型就可以让一个线/进程处理1024个客户端(poll是数千级,epoll是百万级)