关于NIO注册OP_WRITE状态的问题

weixin_38063296 2015-08-26 07:08:25
 开发四年只会写业务代码,分布式高并发都不会还做程序员?->>>    我今天做了一下测试,发现不执行socketChannel.register(selector, SelectionKey.OP_WRITE);我一样可以往channel里面写入数据。这我就奇怪了,jdkapi上面说(我理解的)这个注册是要生成一个key,说明该通道的write已经准备就绪。那么,我的问题是:如果根本不需要注册OP_WRITE就可以往channel中写入数据,那为什么还要注册OP_WRITE呢?为什么在selector.select()方法后面的while循环中,还需要对if(key.isWritable())这种情况单独处理呢?直接写完对方不就收到数据了吗?
...全文
20 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复

476

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧