Java NIO学习总结三(Selector)
来源:互联网 发布:oracle数据库发展历史 编辑:程序博客网 时间:2024/05/27 21:02
上一篇讲了NIO的缓冲区,在给出的例子中当有多个SocketChannel连接到服务器时,我们是通过遍历各个Channel来管理它们的输入输出,其实也可以交给NIO的选择器来管理,下面给出使用Selector的同等效果的实现:
上例中可以看出使用Selector的一般过程,Channel通过register方法注册到Selector,并注明它感兴趣的事件,之后通过Selector的select方法判断有没有感兴趣时间发生,如果有,通过selectedKeys方法获得兴趣事件的集合。
SelectionKey可以理解为Channel和Selector之间交互信息的桥梁,其中有几种默认的事件,包括OP_CONNECT(连接就绪)、OP_ACCEPT(接受就绪)、OP_READ(读就绪)和OP_WRITE(写就绪),可以通过上例中的代码注释和前两篇的内容来加深理解。
0 0
- Java NIO学习总结三(Selector)
- Java NIO学习(三)Selector监听事件+NIO服务器实例
- Java NIO学习8(Selector)
- java nio学习笔记(6)--selector
- Java NIO 学习(六)--Selector
- java学习-NIO(四)Selector
- java nio 非阻塞要点 Selector(三)
- Java NIO编程实例之三Selector
- Java NIO (3) Selector
- Java NIO 学习(三)
- java nio学习(三)
- java nio学习(三)
- Java NIO学习8(Selector 补充版1)
- Java NIO学习8(Selector 补充版ServerSocketChannel)
- Java NIO学习8(Selector 补充版SocketChannel)
- Java NIO学习8(Selector 补充版DatagramChannel)
- 《Java NIO》学习笔记四 选择器(Selector)
- java-----NIO总结(三)
- 一些任务调度情况
- stty命令使用
- nginx proxy_next_upstream导致的一个重复提交错误
- 关于ALSA算法代码的学习与修正
- 编译原理课设之简单编译器实现
- Java NIO学习总结三(Selector)
- solr发布到tomcat下
- JMeter一次简单的接口测试
- Linux命令之stty - 显示和修改终端行设置
- uva10245
- Toast的显示需要的环境
- Android属性动画完全解析(中),ValueAnimator和ObjectAnimator的高级用法
- stdClass类转换成数组
- AndroidStudio导入sdk中的Sample工程