学习笔记-Selector类

 一个Selector对象会包含三种类型的SelectionKey的集合。

 

1、all-keys集合 :当前所有向Selctor注册的SelectionKey的集合。Selector的keys()方法会返回此集合。

2、selected-keys集合 :相关事件已经被 Selector捕获的SelectionKey的集合。Selector的selectedKeys()方法返回此集合。

3、cancelled-keys集合:已经被取消的SelectionKey的集合。Selector没有提供访问此集合的方法。

 

SelectionKey类:

   ServerSocketChannel或者SocketChannel通过register()方法向Selector注册事件时,register()方法会创建一个SelectionKey对象,这个SelectionKey对象是用来跟踪注册事件的句柄。

  SelectionKey对象会失效的情况:

   (1) 程序调用SelectionKey的cancel()方法。

   (2) 关闭与SelectionKey关联的Channel。

   (3)与SelectionKey关联的Selector被关闭。

 

SelectionKey类定义了4种事件,分别用4个int类型的常量表示:

  SelectionKey.OP_ACCEPT:接收连接就绪事件。

  SelectionKey.OP_CONNECT,链接就绪事件。

  SelectionKey.OP_READ: 读就绪事件

  SelectionKey.OP_WRITE:写就绪事件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值