gpt4 book ai didi

Java nio SelectionKey.register 和interestops

转载 作者:行者123 更新时间:2023-12-01 11:10:38 25 4
gpt4 key购买 nike

我一直致力于 Java NIO 通信并阅读有关此的各种文章。该文档说我可以“或”我感兴趣的操作。但是,我还没有看到一个例子

channel.register(selector,SelectionKey.OP_ACCEPT|SelectionKey.OP_READ|Selection.OP_WRITE)

这是一个坏主意吗?

最佳答案

是的。这是错误的。

  1. 唯一可以为您提供 OP_ACCEPT 的是 ServerSocketChannel。
  2. 唯一可以为您提供 OP_READ 或 OP_WRITE 的是 SocketChannel 或 DatagramSocketChannel。
  3. 因此,单个 channel 无法为您提供所有这三个 Activity 。因此,为它们全部注册是没有意义的。
  4. OP_WRITE 几乎总是准备就绪。同时注册 OP_READ 和 OP_WRITE 几乎没有意义。

validOps() 方法告诉您哪些操作对于给定 channel 有效,而不是您需要在运行时知道。

关于Java nio SelectionKey.register 和interestops,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32434930/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com