小编Fra*_*lor的帖子

Java NIO select()返回没有选中的键 - 为什么?

在编写一些测试代码时,我发现Selector.select()可以返回而不包含要处理的任何键的Selector.selectedKeys().当我注册一个accept()ed频道时,会发生这种情况

SelectionKey.OP_READ | SelectionKey.OP_CONNECT

作为感兴趣的业务.

根据文档,select()应该在以下时间返回:

1)有可以采取行动的渠道.

2)您明确调用Selector.wakeup() - 未选择任何键.

3)显式Thread.interrupt()执行select()的线程 - 没有选择键.

如果我在select()之后没有键,我必须在case(2)和(3)中.但是,我的代码不是调用wakeup()或interrupt()来启动这些返回.

关于是什么导致这种行为的任何想法?

java select nio

7
推荐指数
2
解决办法
6232
查看次数

标签 统计

java ×1

nio ×1

select ×1