
netty
Mica_Dai
安得编程心法千万套,大庇天下码农俱欢颜,做一只技术基础概念的传播者
展开
-
学习NIO——Selector之 SectionKey的事件集合
一个异常引发的思考 事情要从一个简单的情况说起,有一天我在写NIO程序的时候突然想到这样一个问题: 一个Channel在注册的时候是否可以一次性注册多个?是否在后续的过程中能够对感兴趣的事件进行修改? 当然这些问题本身是比较简单的,但是好巧不巧,当时我是用ServerSocketChannel进行的这次实验,于是就有了这篇文章。我们知道在ServerSocketChannel进行注册时候,通常的注册事件是OP_ACCEPT,详见代码块1—— serverSocketChannel.register(se原创 2020-08-30 18:51:54 · 381 阅读 · 0 评论 -
从零开始学NIO——Selector
现在我们看看关于NIO三大组件之一的Selector究竟做了些什么?简单来说,Selector就是“维护“另外一个组件Channel的。从Channel注册到最终注销整个生命周期将由Selector间接管理。 那么上述说到的”维护“和间接究竟是什么意思呢?我们先来看看Selector本身的一些属性—— 维护三个集合 Selector维护有三个集合,他们分别如下—— Key Set:所有注册到Selector中的SelectionKey集合 Selected Key:有事件发生的SelectionKey集合原创 2020-08-30 00:37:39 · 153 阅读 · 0 评论