当前位置: 首页 > news >正文

《Netty》从零开始学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,涉及到的类的关系如下:

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

http://www.lryc.cn/news/40457.html

相关文章:

  • TCP UDP详解
  • 超详细淘宝小程序的接入开发步骤
  • 【Python】正则表达式re库
  • JDK8使用Visual VM根据Dump文件排查OutOfMemoryError生产问题思路
  • 2023年网络安全比赛--网络安全事件响应中职组(超详细)
  • 【半监督学习】3、PseCo | FPN 错位对齐的高效半监督目标检测器
  • Tomcat+Servlet初识
  • ChatGPT-4 终于来了(文末附免费体验地址)
  • 【C++学习】类和对象(中)一招带你彻底了解六大默认成员函数
  • 面试——Java基础
  • JavaWeb——Request(请求)和Response(响应)介绍
  • JMeter压测文件上传接口和中文乱码
  • CSRF漏洞复现
  • Google Colab导入GitHub python项目进行运行
  • Qss样式表语法
  • 「Python 基础」异步 I/O 编程
  • 通配符的匹配很全面, 但无法找到元素 ‘tx:advice‘ 的声明
  • 响应式编程详解,带你熟悉Reactor响应式编程
  • 踩坑篇之WebSocket实现类中无法使用@Autowired注入对象
  • QT CTK插件框架 (一 下载编译)
  • 【Java版oj】day10 井字棋、密码强度等级
  • JavaScript的事件传播机制
  • 队列的定义及基本操作实现(链式)
  • 集成方法!
  • 20年程序员生涯,读了200多本技术书,挑了几本精华好书分享给大家
  • C++ 手写一个WebServer
  • Elasticsearch 简介与安装
  • Qt5.12实战之QByteArray与字符指针及字符串转换
  • 二、ElasticSearch基础语法
  • Yolov8详解与实战