多路选择I/O提供另一种处理I/O的方法,相比于传统的I/O方法,这种方法更好,更具有效率.多路选择是一种充分利用系统时间的典型. 1.多路选择I/O的概念 当用户需要从网络设备上读数据时,会发生的读操作一般分为两步. (1)等待数据准备好,等待数据的到达,并且将其复制到内核的缓冲区,该缓冲区在系统态. (2)复制数据,将数据从内核缓冲区中复制到用户指定的缓冲区中. 一般的读操作形式为: Int nbytes = read(sfd, buf, MAX); 如果需要的数据没有准备好,例如,数据尚未…