java - 在 Java NIO 中,选择器对客户端 SocketChannel 有用吗?

标签 java css-selectors nio

在 Java NIO 中,很容易理解为什么 ServerSocketChannel 必须有一个选择器。选择器可以从多个客户端 channel 中检查是否准备好进行 I/O 操作。

但是,在网上看到的一些评论中,selector机制是应用于客户端SocketChannel的。我不明白为什么选择器对客户有用。谁能解释为什么它在只有一台服务器的通常情况下有用?

最佳答案

除非您连接到数百台服务器,否则很难在客户端中看到非阻塞 NIO 的意义。但是如果你使用非阻塞 NIO,你肯定必须使用 Selector,否则你无法知道什么时候读取 channel ,或者在不完整的写入之后什么时候它再次变得可写。

关于java - 在 Java NIO 中,选择器对客户端 SocketChannel 有用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12338204/

相关文章:

java - CompletableFuture 能否用于创建非阻塞 I/O 调用?

css - 自己+同款是什么意思?

java - java.nio.file 在哪里

Java NIO - 使用选择器

java - 对象输出和输入问题,仅打印输入的第一行

java - 创建 AlertDialog 时,变量未显示已定义

JavaScript:当有两个B类元素时,如何在id X内的B类中选择A类?

html - 选择唯一没有类或 ID 的元素

java - 在java中释放直接缓冲区以及可能的陷阱

java - "Bad version number in .class file"是否有 Maven 插件来检查此错误?