【发布时间】:2015-10-07 09:57:30
【问题描述】:
我正在尝试理解 select() 和非阻塞 I/O 概念。 但仍然不知道如果使用阻塞 I/O 和 select() 会发生什么,如果使用非阻塞和 select() 会发生什么。
我读到,select() 已经是块调用。那么它是如何工作的呢?
【问题讨论】:
标签: sockets select nonblocking
我正在尝试理解 select() 和非阻塞 I/O 概念。 但仍然不知道如果使用阻塞 I/O 和 select() 会发生什么,如果使用非阻塞和 select() 会发生什么。
我读到,select() 已经是块调用。那么它是如何工作的呢?
【问题讨论】:
标签: sockets select nonblocking
如果将阻塞 I/O 与
select()一起使用会发生什么
您将收到IllegalBlockingModeException.
select()已经是块调用。那么它是如何工作的呢?
它会一直阻塞,直到正在选择的事件发生或超时到期(如果有)。
【讨论】:
将select() 或poll() 与阻塞或非阻塞套接字一起使用非常好。对select() 的调用将被阻止,直到提供给select() 的(其中一个)套接字可供读取。
【讨论】: