3

如果我使用带有 select() 调用的非阻塞套接字而不是使用带有 select() 调用的阻塞套接字,我的程序的行为会有什么不同?

4

2 回答 2

7

轮询的select行为不会有所不同,只有阻塞/非阻塞套接字之间的接收/发送功能会有所不同。

于 2013-02-24T17:26:18.480 回答
3

select()不会有不同的行为。read(), write(),accept()和其他 I/O 函数将——它们永远不会在非阻塞套接字上阻塞,而即使告诉它们不会阻塞,它们也可能阻塞,尽管这种情况很少见。select()

https://stackoverflow.com/a/5352634/259543

不过,不确定 POSIX 是否允许这种行为。

于 2013-02-24T23:30:49.773 回答