select()是阻塞还是非阻塞调用?

3
select()传递struct timeval参数并设置超时值时,可以说它是非阻塞的吗?当该参数为NULL时,它是阻塞的。
1个回答

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接