- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了一个抽象
public interface Channel<R extends SelectableChannel & ReadableByteChannel, W extends SelectableChannel & WritableByteChannel>
对于java.nio.channels.SelectableChannel
,它提供了 isBidirectional
方法和 getter 来检索写/读 channel (可能相等也可能不相等)。该 channel 及其可能的多个其他实例与封装选择器的 I/O 调度程序一起使用。
由于我想要非阻塞写入,因此调度程序使用应写入相应 channel 的 ByteBuffer 填充多个队列,并添加 java.nio.channels.SelectionKey.OP_WRITE
如果写入到期,则根据 key 的兴趣集。
对于双向 channel ,这是一个简单的更新操作,因为读取 channel (==写入 channel ),已经有兴趣处理OP_READ
。如果 channel 是单向的,我必须获取写入 channel (!=读取 channel )并感兴趣地注册它OP_WRITE
.
问题
假设队列现在为空,执行写入操作后我应该做什么?对于双向 channel ,我只需将兴趣集重置为 OP_READ
.
但是我应该如何处理单向 channel ,可以调用key.interestOps(0);
吗? ,它不违反方法的不变性
(ops & ~channel().validOps()) != 0
.
(单向)写入 channel 的兴趣集将为空。
<小时/>简而言之
是java.nio.channels.SelectionKey.interestOps(0)
如果我当前对选择键不感兴趣,那么正确的调用是什么?或者我应该删除 key ?
最佳答案
Is it okay to invoke
key.interestOps(0);
是的,这完全没问题。
关于java - 具有空兴趣集的 SelectionKey,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27133007/
我正在尝试检索用户兴趣列表。所以我正在调用 graph api 来检索书籍、音乐等内容。似乎“喜欢”下的所有内容也包括书籍、音乐等下列出的所有内容。他们有任何异常(exception)吗,或者我可以调
这是一道代码组织题。我有将渐变背景放在 View 上的代码。我想在多个 View 上使用相同的代码 - 因此,我想将代码放在一个函数中,并在配置相关 View 时调用它。 我的问题是,放置这样一个函数
我是一名优秀的程序员,十分优秀!