首页 > 编程语言 > 详细

Java高并发教程:详解NIO Selector类

时间:2020-06-16 00:14:00      阅读:54      评论:0      收藏:0      [点我收藏+]

Java高并发教程:详解NIO Selector类

NIO Selector

  Java NIO Selector可以检查一个或多个Java NIO Channel实例,并确定哪些通道可供使用,例如read或write。 这样,单个线程可以管理多个通道,从而可以管理多个网络连接。Selector 选择器的使命是完成IO的多路复用。一个通道代表一条连接通路,通过选择器可以同时监控多个通道IO(输入输出)状况。选择器和通道的关系,是监控和被监控的关系。

  如下图所示为一个Selector同时监控3个Channel:

  技术分享图片

 

   选择器提供了独特的API方法,能够选出Select所监控的通道拥有哪些已经准备好的,就绪的IO操作事件。可供选择器监控的通道IO事件类型,包括以下:

  1. 可读:SelectionKey.OP_READ
  2. 可写:SelectionKey.OP_WRITE
  3. 连接:SelectionKey.OP_CONNECT
  4. 接收:SelectionKey.OP_ACCEPT

  判断一个通道能否被选择器监控或者选择,有一个前提:判断它是否继承了抽象类SelectableChannel

注:IO事件指的是通道的某个IO操作的一种就绪状态

 

参考资料

 

Java高并发教程:详解NIO Selector类

原文:https://www.cnblogs.com/MrSaver/p/13138452.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!