当使用包含超时值的 struct timeval 参数调用 select() 函数时,是否可以说它是非阻塞的呢?答:不可以。在这种情况下,它会等待,直到选择的文件描述符中有一个准备好或者超时时间到达。这种“等待”明显是阻塞的。唯一的非阻塞情况是当超时时间设置为 0 时,即给定的 timeval 的 tv_sec 和 tv_usec 均设为 0。