08、Netty源码分析:NioEventLoop.selector

目录

  • java原生的WEPollSelectorImpl
  • netty的SelectionKey容器SelectedSelectionKeySet
  • netty的SelectedSelectionKeySetSelector
  • SelectorTuple
  • openSelector

每一个NioEventLoop配一个选择器Selector,在创建NioEventLoop的构造函数中会调用其自身方法openSelector获取selector

*

在开始分析openSelector()方法时,先认识下面几个类:

1、 java原生的Selector实例WEPollSelectorImpl
2、 netty自带的SelectionKey容器SelectedSelectionKeySet
3、 netty包装过的Selector实例SelectedSelectionKeySetSelector
4、 SelectorTuple

java原生的WEPollSelectorImpl

*

netty的SelectionKey容器SelectedSelectionKeySet

*

netty的SelectedSelectionKeySetSelector

*

SelectorTuple

*

接下来详细看下openSelector方法

openSelector

*

该方法成功创建Selector,涉及到的类的关系如下:

*

同一方框内的值指向的是同一个堆指针,所以它们的值是一样的。

版权声明:本文不是「本站」原创文章,版权归原作者所有 | 原文地址: