在I/O编程过程中,当需要同时处理多个客户端接入请求时,可以利用多线程或者I/O多路复用技术自来。
它通过把多个I/O的阻塞复用到同一个select的阻塞上,从而使得系统在单纯种的情况下可以同时处理多个客户端请求。
与传统的多线程、多进程模型比,I/O多路复用的最大优势是系统开销小,系统不需要创建新的额外进程或者线程,也不需要维护这些进程和线程的运行,降低了系统的维护工作量,节省了系统资源。
I/O多路复用的主要应用场景如下:
1)服务器需要同时处理多个处于监听状态或者多个连接状态的套接字;
2)服务器需要同时处理多种网络协议的套接字。