netty之NioEventLoop和NioEventLoopGroup
类结构图
NioEventLoopGroup
NioEventLoop
初始化
线程池创建是通过MultithreadEventExecutorGroup构造函数,创建线程是通过DefaultThreadFactory
首先创建EventExecutor的数组
children = new EventExecutor[nThreads];
NioEventLoopGroup的newChild创建具体的eventloop即NioEventLoop
SingleThreadEventExecutor在重写了线程池的execute方法时,其会创建线程,执行SingleThreadEventExecutor.this.run()抽象方法
同时会初始化EventExecutorChooser, 有两种类型
- PowerOfTwoEventExecutorChooser
- GenericEventExecutorChooser
初始化SelectorProvider,默认使用sun.nio.ch.DefaultSelectorProvider.create()
public static SelectorProvider provider() {synchronized (lock) {if (provider != null)return provider;return AccessController.doPrivileged(new PrivilegedAction<SelectorProvider>() {public SelectorProvider run() {if (loadProviderFromProperty())return provider;if (loadProviderAsService())return provider;provider = sun.nio.ch.DefaultSelectorProvider.create();return provider;}});}}
初始化DefaultSelectStrategy,默认使用SelectStrategy.SELECT
创建NioEventLoop传递的executor参数为ThreadPerTaskExecutor
相关文章:
netty之NioEventLoop和NioEventLoopGroup
类结构图 NioEventLoopGroup #mermaid-svg-5g1iVjr5oyhqXK92 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-5g1iVjr5oyhqXK92 .error-icon{fill:#552222;}#mermaid-svg-5g1iVjr5oyhqXK92 .error-text{fill:#55222…...
睿考网:中级经济师考试题型有哪些?
中级经济师考试时间在每年的11月份,2024年考试时间定于11月16-17日,考试科目为《经济基础知识》与《专业知识与实务》两科。 《专业知识与实务》有10个专业,分别是工商管理、知识产权、农业经济、财政税收、金融、保险、运输经济、人力资源管…...
kubernetes集群部署Confluence 7.2.0+mysql 5.7(自测有效)
背景介绍: Confluence是一个专业的企业知识管理与协同软件。使用简单,但它强大的编辑和站点管理特征能够帮助团队成员之间共享信息、文档协作、集体讨论,信息推送。 这里介绍的使用的是Confluence 7.2.0版本的。 一、在kubernetes集群部署 1…...
Vmware ubuntu22.04 虚拟机 连接Windows主机虚拟串口
1. Windows虚拟串口配置 虚拟串口下载:虚拟串口 VSPD 的使用_vspd使用教程-CSDN博客 虚拟串口使用:使用虚拟串口在一台电脑上模拟串口通讯_pc怎么模拟一主多从串口-CSDN博客 2. ubuntu虚拟串口配置 Vmware ubuntu22.04 虚拟机 连接windows主机虚拟串口…...
Postgresql碎片整理
创建pgstattuple 扩展 CREATE EXTENSION pgstattuple 获取表的元组(行)信息,包括空闲空间的比例和行的平均宽度 SELECT * FROM pgstattuple(表名); 查看表和索引大小 SELECT pg_relation_size(表名), pg_relation_size(索引名称); 清理碎片方…...
【最新华为OD机试E卷-支持在线评测】字母组合(200分)多语言题解-(Python/C/JavaScript/Java/Cpp)
🍭 大家好这里是春秋招笔试突围 ,一枚热爱算法的程序员 💻 ACM金牌🏅️团队 | 大厂实习经历 | 多年算法竞赛经历 ✨ 本系列打算持续跟新华为OD-E/D卷的多语言AC题解 🧩 大部分包含 Python / C / Javascript / Java / Cpp 多语言代码 👏 感谢大家的订阅➕ 和 喜欢�…...
力扣493.翻转对
class Solution {public static int MAXN 50001;public static int[] help new int[MAXN];public static void main(String[] args) {}public static int reversePairs(int[] arr) {return counts(arr, 0, arr.length - 1);}//统计l …… r上反转对的数量,同时计算…...
潜望长焦+快充:vivo X200系列,小尺寸手机的大突破
在智能手机市场日益激烈的竞争中,厂商们不断推陈出新,以满足消费者多样化的需求。vivo作为中国知名的智能手机品牌,一直以其创新的设计和强大的功能赢得市场的认可。 近日,vivo X200系列的即将发布引起了广泛关注,特别…...
Stable Diffusion训练LoRA模型参数详细说明(阿里巴巴堆友AI)
工具:线上模型训练堆友AI 一、训练参数 批量大小 (Batch Size) 作用:每次训练中使用的样本数量。参考值:可以从 8 到 64,取决于显存大小。 训练轮数 (Epochs) 作用:完整遍历训练数据的次数。参考值:通…...
Learn ComputeShader 12 Setting up a buffer-based particle effect
unity有自己的粒子系统,但是这次我们要尝试创建一个我们自己的粒子系统,而且使用计算着色器有下面这些好处。总而言之,计算着色器适合处理大规模的数据集。例如,能够高效地处理数万个甚至数百万个粒子的计算。这对于粒子系统这样的…...
【STL中容器汇总】map、list、vector等详解
容器学习分享 1、STL简介1.1、STL六大组件 2、vector容器2.1、vector 基本操作2.2、vector容器示例2.3、vector容器存放自定义数据类型示例2.3、vector嵌套vector示例 3、list 容器3.1使用示例3.2、list容器基本函数 4、map容器4.1、map函数原型4.2、map函数示例 1、STL简介 ST…...
Semantic Kernel + Natasha:一小时快速生成100个API的奇迹
大家好,我今天带来了一个让人瞠目结舌的实验:在一小时内快速生成了100个API! 其实如果手速高,可以更多。要知道,这得益于之前介绍过的Natasha —— 一个可以动态编译并加载代码的神奇工具。 动态编程神器! 探秘.Net…...
rancher upgrade 【rancher 升级】
文章目录 1. 背景2. 下载3. 安装4. 检查5. 测试5.1 创建项目5.2 创建应用5.3 删除集群5.4 注册集群 1. 背景 rancher v2.8.2 升级 v2.9.1 2. 下载 下载charts helm repo add rancher-latest https://releases.rancher.com/server-charts/latest helm repo update helm fetc…...
【Linux】多线程:线程互斥、互斥锁、线程安全
目录 一、多线程访问公共资源时所产生的问题 二、互斥相关背景概念 互斥量mutex(锁)的引入 三、互斥量 1、初始化互斥量(mutex) 2、互斥量加锁 3、互斥量解锁 4、 销毁互斥量 四、互斥量的使用 1、使用静态互斥量 2、…...
进程之间的通信方式
前言 每个进程的用户地址空间都是独立的,一般而言是不能互相访问的,但内核空间是每个进程都共享的,所以进程之间要通信必须通过内核。 Linux提供了以下进程通信方式: 一、管道 所谓的管道,就是内核里面的一串缓存。…...
动手学深度学习(pytorch)学习记录26-卷积神经网路(LeNet)[学习记录]
目录 LeNet模型训练 LeNet 总体来看,LeNet(LeNet-5)由两个部分组成: 卷积编码器:由两个卷积层组成; 全连接层密集块:由三个全连接层组成。 每个卷积块中的基本单元是一个卷积层、一个sigmoid激活函数和平均…...
log4j 和 java.lang.OutOfMemoryError PermGen space
还是OneCoder在项目中沙箱的问题,用classloader隔离做的沙箱,反复运行用户的任务,出现永生区内存溢出: java.lang.OutOfMemoryError: PermGen space 这个问题在tomcat重复热部署的时候其实比较常见。其道理也和我们沙箱的道理基本…...
2024.9.9营养小题【2】
营养: 1、什么数是丑数? 2、数学数学,丑数的数学意义,哎,数学思维我是忘干净了。 3、可以把while循环换成for循环。由此又想到了一点,三个循环结构各有使用场景。 for(;n%factors[i]0;n/factors[i]){}...
uniapp的barcode组件去掉自动放大功能
autoZoom“false” <barcode id1 class"barcode" autoZoom"false" autostart"false" ref"barcode" background"rgb(0,0,0)" frameColor"#1C86EE"scanbarColor"#1C86EE" :filters"fil" ma…...
H5接入Steam 获取用户数据案例
官方文档地址 1.注册 Steam API Key: 你需要一个 Steam Web API Key,可以在 Steam API Key 页面 获取。https://steamcommunity.com/dev/apikey 2.使用 OpenID 登录: 实现 Steam OpenID 登录,以便用户通过 Steam 账户登录你的…...
PicView图片浏览器完整指南:从零开始掌握高效图片管理技巧
PicView图片浏览器完整指南:从零开始掌握高效图片管理技巧 【免费下载链接】PicView Fast, free and customizable image viewer for Windows 10 and 11. 项目地址: https://gitcode.com/gh_mirrors/pi/PicView PicView是一款专为Windows 10和11设计的快速、…...
模型加载与初始化(3)
前言 在 llama.cpp 中,模型推理主要基于 GGUF 格式展开。GGUF 是一种专为存储基于 GGML 及其相关执行器进行推理的模型文件而设计的格式。作为一种二进制格式,其设计初衷在于实现模型的高效加载与保存,并确保良好的易读性。本章将深入探讨大语…...
无GPU方案:星图平台OpenClaw镜像+百川2-13B-4bits的云端沙盒体验
无GPU方案:星图平台OpenClaw镜像百川2-13B-4bits的云端沙盒体验 1. 为什么选择云端沙盒方案 作为一个长期折腾本地AI部署的技术爱好者,我最近遇到了一个典型困境:想体验最新的OpenClaw智能体框架,但手头的MacBook Pro只有集成显…...
【限时开放】CPython核心团队亲授:2026 Python原生AOT编译接入Checklist(含12个预编译hook校验点)
第一章:Python原生AOT编译方案2026的演进背景与核心价值近年来,Python在云原生、边缘计算与实时系统场景中的部署瓶颈日益凸显:CPython解释器的启动延迟、内存开销及运行时JIT缺失,严重制约了其在低延迟服务、嵌入式Python模块和安…...
SQL注入的分类靶场实践
SQL注入的分类靶场实践 前言 SQL 注入(SQL Injection)是一种常见且危险的 Web 安全漏洞,攻击者通过在输入字段中插入恶意 SQL 代码,能够绕过应用程序的验证机制,直接操纵数据库。本文将介绍 SQL 注入的分类ÿ…...
纹理识别必备!5个高质量数据集下载与使用指南(附避坑技巧)
纹理识别实战指南:五大高价值数据集深度解析与应用技巧 纹理识别作为计算机视觉领域的重要分支,在工业质检、自动驾驶、医疗影像等场景中发挥着关键作用。但许多开发者在数据集获取和预处理阶段就会遇到各种"暗坑"——从下载链接失效到标注格式…...
CAN FD通信中,如何用AUTOSAR配置搞定TDC和SSP?一个80% Offset的实战案例
CAN FD通信中AUTOSAR配置实战:TDC与SSP的80% Offset实现 在汽车电子领域,CAN FD(Controller Area Network Flexible Data-rate)正逐步取代传统CAN总线,成为车载网络的主流选择。随着数据传输速率提升至2Mbps甚至更高&a…...
ArcGIS核密度分析实战:基于上海市餐饮POI的商业热点识别
1. 核密度分析能帮你做什么? 如果你正在考虑开一家餐厅,或者想了解上海哪些区域餐饮业最发达,核密度分析就是你的好帮手。简单来说,这个技术可以把一堆分散的餐饮店位置数据,变成一张直观的"热度地图"。我去…...
通义千问3-VL-Reranker-8B新手教程:零基础学会混合检索排序
通义千问3-VL-Reranker-8B新手教程:零基础学会混合检索排序 1. 认识这个强大的多模态排序工具 想象一下,你正在管理一个包含文字、图片和视频的庞大数据库。当用户搜索"户外运动装备"时,系统返回了100个结果——有些是产品描述文…...
ncmdumpGUI终极指南:解锁你的音乐收藏,告别NCM格式束缚
ncmdumpGUI终极指南:解锁你的音乐收藏,告别NCM格式束缚 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾经遇到过这样的情况&am…...
