一、关于I/O
一次I/O分两个部分(①等待数据就绪 ②进行I/O),减少等的比重,增加I/O的比重就可以达到高效服务器的目的。select工作原理就是这个,同时监控多个文件描述符(或者说文件句柄),一旦其中某一个进入就绪状态,就进行I/O操作。监控多个文件句柄可以达到提高就绪状态出现的概率,就可以使CPU在大多数时间下都处于忙碌状态,大大提高CPU的性能。达到高效服务器的目的。可以理解为select轮询监控多个文件句柄或套接字。
二、关于select函数
fd_set是文件描述符集,本身是一种位图结构,下面的宏提供了对这个文件描述符集的操作:
三、关于select模型