Netty基础(三)

news2024/11/20 7:07:38

1.Netty模型

1.1.工作原理示意图1-简单版

Netty主要基于主从Reactors多线程模型(如图)做了一定的改进,其中主从Reactor多线程模型有多个Reactor;
在这里插入图片描述
说明:

①.BossGroup线程池中的线程维护了Selector,只关注Accecpt事件;

②.当接收到Accept事件,获取到连接对应的SocketChannel,然后进一步封装成NIOScoketChannel并注册到WorkerGroup线程池中的worker线程维护的Seletor上,并进行维护;(WorkerGroup中里面有线程,即Worker线程,Work线程里面会有Seletor,一直在进行事件循环!)

③.当WorkerGroup线程池中的Worker线程监听到Selector中的通道发生了自己关注的事件后,就把NIOSocketChannel连接分发给handler进行处理;(***注意:handler事先已经加入到通道;)

1.2.工作原理示意图2-进阶

在这里插入图片描述

1.3.工作原理示意图-详细版

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/502304.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构入门--栈和队列

栈 栈的概念及结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除的一段为栈顶,另一端为栈底。栈中元素遵循后进先出LIFO(Last In First Out)原则。 压栈:栈的插…

玄子Share - 2023.1 IDEA 部署Web项目

玄子Share - 2023.1 IDEA 部署Web项目 创建项目 IDEA 2023 创建Jakarta EE项目 模板:选择使用 Web 应用程序 应用程序服务器:选择安装的 Tomcat 第一次创建项目可能识别不到 Tomcat 需要手动添加 Tomcat 服务器 设置 Tomcat 主目录为 Tomcat 的安装路径…

给httprunnermanager接口自动化测试平台加点功能(二)

文章目录 一、背景1.1、新增字段1.2、简化流程1.3、举一反三 二、总结 一、背景 继续前面的功能改造,这回又是什么需求呢?在编写测试用例的时候,咱们有看到列表有作者名称,也就是说,可以在用例列表就可以知道这条用例是…

网络数据包丢失监控

什么是网络数据包 数据包或网络数据包是通过网络传输的小数据单元。顾名思义,这些是小的、离散的数据单元。单独来看,这些单位不一定有多大意义。它们只是正在传输的整体消息的一部分,这些消息已被组装成多个层。但是,当组合在一…

人工智能前景

人工智能AI的未来非常广阔和光明。随着科技的不断发展和普及,人工智能已经开始逐渐融入我们生活的方方面面,比如智能家居、智能医疗、无人驾驶等等。未来,随着更多的应用场景被开拓和挖掘,人工智能的应用范围将会越来越广泛&#…

Word控件Spire.Doc 【打印】教程(3):如何在自定义纸张尺寸上打印 Word—C#/VB.NET

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具,专注于创建、编辑、转…

B、B+、红黑树、AVL树的对比

主要来自 小林coding https://mp.weixin.qq.com/s/AoPq8poENF9T4mVS1fDFPw# 怎样的索引的数据结构是好的? MySQL 的数据是持久化的,意味着数据(索引记录)是保存到磁盘上的,因为这样即使设备断电了,数据也…

SpringBoot自动配置原理解析

​ SpringBoot的主旨是约定大于配置,开发项目初期阶段,我们不需要做过多的配置,SpringBoot已经帮我们自动配置好了大部分的内容,比如仲裁依赖机制,自动引入需要的依赖,自动配置等内容。让我们能够将更多的精…

2023年6款程序员常用IDE工具推荐

IDE是“集成开发环境”的缩写,是一种软件应用程序,旨在为程序员提供一个集成的工作环境,使他们可以编写、测试和调试代码,同时提供各种辅助工具,以提高开发效率和质量。 通常包含了一个代码编辑器,能够在代…

AI ChatGpt使用工具

1、OpenAi 这个使用注册和使用成本比较高,新手不建议;有钱滤过,想使用最新的模型的滤过; 1.1、准备工作 能访问外网;(本链接不提供)准备一个国外手机号,用于接受注册验证码&#xf…

数据结构——结构体 内存对齐

在C语言中,可以使用结构体(Struct)来存放一组不同类型的数据。结构体是一种集合,它里面包含了多个变量或数组,它们的类型可以相同,也可以不同,每个这样的变量或数组都称为结构体的成员&#xff…

试用「ChatGPT」几周之后

冷静下来,不吹不黑。 01 最近半年,互联网一款现象级的应用诞生:「ChatGPT」; 其火爆的程度,不输前面的羊了个羊; 最初了解到ChatGPT还是春节的时候,但那时网上的测评还没引起足够的好奇心&…

美女诱惑来袭,你抖的过嘛~python下载

前言 嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 我又又又来采集美女小姐姐了 兜兜转转还是小姐姐得我心吖~ 哈哈哈哈哈哈哈哈哈哈 目录&#xff08;想看哪里点哪里 &#x1f61d;&#xff09; 前言开发环境:思路流程: <固定公式>代码展示尾语 开发环境: 首先我…

kudu可视化工具:kudu-plus

目录 kudu kudu-plus是什么 kudu基础 分支说明 kudu-plus版本功能实现 kudu Kudu是为Apache Hadoop平台开发的列式数据库。Kudu拥有Hadoop生态系统应用程序的常见技术属性&#xff1a;它可以商用硬件上运行&#xff0c;可横向扩展&#xff0c;并支持高可用性操作。 kudu-p…

并发编程之循环屏障CyclicBarrier

文章目录 前言什么是CyclicBarrierCyclicBarrier原理CyclicBarrier VS CountDownLatchCountDownLatch图示&#xff1a;CyclicBarrier图示&#xff1a;两者的异同&#xff1a; CyclicBarrier核心源码实战演示1、创建测试demo2、创建测试用例3、查看测试结果 写在最后 前言 前面…

Ubuntu 20.04安装mysql8并配置远程访问

文章目录 一、使用apt-get安装mysql服务二、初始化mysql数据库管理员用户密码三、配置远程访问 一、使用apt-get安装mysql服务 # 更新软件源 apt-get install update# 安装mysql服务 apt-get install mysql-server# 使用mysqladmin工具查看mysql版本 mysqladmin --version# 启…

powershell定义文本,用户交互,正则表达式

定义文本 PS C:\Users\Administrator> $site"yuan" PS C:\Users\Administrator> $text"$site $(get-date) $env:windir" PS C:\Users\Administrator> $text yuan 09/16/2022 14:12:26 C:\Windows#使用单引号闭合字符串输出双引号 The site of my…

【Jeston Orin】Orin nano 8G模块使用官方系统包生成标准烧写系统测试

大家好&#xff0c;我是虎哥&#xff0c;GTC 2023上&#xff0c;NVIDIA正式推出了面向边缘AI的新一代入门款开发套件&#xff0c;Jetson Orin Nano Developer Kit。虽说只是入门套件&#xff0c;但据说相比上一代Jetson Nano有最高达80倍的性能提升&#xff01;于是我在收到包裹…

苹果ipad触控笔哪个好?平价电容笔排行榜

因为ipad本身的性能足够强大&#xff0c;所以现在已经有不少人开始使用它了。大屏幕上的教学效果很好&#xff0c;但如果只是为了用来看电视剧&#xff0c;那就没什么用了。如果你不想买一支价格昂贵的苹果电容笔&#xff0c;或只想用来做个学习笔记&#xff0c;这时&#xff0…

SpringBoot整合Nacos配置中心和注册中心

一、背景 公司项目中使用的Nacos作为服务的注册中心和配置中心&#xff0c;但是呢公司的这一套Nacos是经过封装了的&#xff0c;而且封装的不是很友好&#xff0c;想着自己搭建一套标注的Nacos配置中心和服务中心 二、Nacos配置中心和注册中心搭建 2.1 依赖引入 <!--注册…