请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

key.interestOps(key.readyOps() & ~ ops)取消了感兴趣的事件,那又在哪里恢复了事件呢?

正在回答 回答被采纳积分+3

1回答

Qiujuer 2019-11-07 14:37:31

我写一下整个的流程哈:
1. 想要读取数据-首先注册读取事件

2. 有数据来了-读取事件就绪

3. 开始取消兴趣关注(如果不取消,因为轮训是单独的线程,在此轮训时会再次发现就绪,会反复去多并非读取,导致数据错乱。)

4. 线程池-处理读取数据事件

5. 读取数据完成

6. 想要再次读取数据-再次注册读取事件


循环。

1 回复 有任何疑惑可以回复我~
  • Qiujuer #1
    这个过程中,涉及:轮训线程-读取线程池的切换。
    回复 有任何疑惑可以回复我~ 2019-11-07 14:37:55
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信