《Netty》从零开始学netty源码(八)之NioEventLoop.selector

news/2025/2/12 7:54:38/

目录

  • 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,涉及到的类的关系如下:

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


http://www.ppmy.cn/news/32780.html

相关文章

java高级开发/技术经理面试经历

20230317 电讯盈科 面试问题: cp和ap的区别注册中心挂掉怎么处理,如何防止这种情况如何设计一套对外apijwt的实现加密方式商品秒杀相关问题gateway 网关有哪些功能 20230317 广州希音 面试问题: redis的数据结构,各种数据结构的实现原理mysql的索引…

Vite4 + Vue3 + vue-router4 动态路由

动态路由,基本上每一个项目都能接触到这个东西,通俗一点就是我们的菜单是根据后端接口返回的数据进行动态生成的。表面上是对菜单的一个展现处理,其实内部就是对router的一个数据处理。这样就可以根据角色权限或者一些业务上的需求&#xff0…

PHP中怎么使用

在 PHP 中,& 符号可以用来创建一个引用变量。引用变量实际上是原变量的别名,对引用变量的修改会反映在原变量上。使用引用变量可以节省内存,避免复制大量的数据。 下面是一个示例,演示如何使用 & 创建引用变量: phpCopy code $a = 1; $b = &$a; // 创建 $a…

Linux之运行级别

文章目录一、指定运行级别基本介绍CentOS7后运行级别说明一、指定运行级别 基本介绍 运行级别说明: 0:关机 1:单用户【找回丢失密码】 2:多用户状态没有网络服务 3:多用户状态有网络服务 4:系统未使用保留给用户 5:图形界面 6:系统重启 常用运行级别是3和5,也可以…

黑马《数据结构与算法2023版》正式发布

有人的地方就有江湖。 在“程序开发”的江湖之中,各种技术流派风起云涌,变幻莫测,每一位IT侠客,对“技术秘籍”的追求和探索也从未停止过。 要论开发技术哪家强,可谓众说纷纭。但长久以来,确有一技&#…

【2024考研】计算机考研,4轮复习时间安排

文章目录🎨第1轮复习(暑假前&系统课)英语1/2数学1/2专业课408🎨第2轮复习(开学前&真题)英语1/2试卷数学1/2试卷专业课408试卷🎨第3轮复习(报名前&政治)政治试…

K8s(v1.25.1) 高可用集群(3 Master + 5 Node) Ansible 剧本部署(CRI使用docker,cri-docker)

写在前面 分享一个 k8s 高可用集群部署的 Ansible 剧本以及涉及到的一些工具的安装博文内容涉及:从零开始 一个 k8s 高可用 集群部署 Ansible剧本编写,编写后搭建 k8s 高可用 集群一些集群常用的 监控,备份工具安装,包括&#xff…

ASEMI代理MIMXRT1064CVJ5B原装现货NXP车规级MIMXRT1064CVJ5B

编辑:ll ASEMI代理MIMXRT1064CVJ5B原装现货NXP车规级MIMXRT1064CVJ5B 型号:MIMXRT1064CVJ5B 品牌:NXP /恩智浦 封装:LFGBA-196 批号:2023 安装类型:表面贴装型 引脚数量:196 类型&#…