news 2026/9/3 0:04:01

【netty】EventLoop

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【netty】EventLoop

eventloop 可以处理channel上 accept、read、write等io事件

1.单线程执行器

2.维护了一个selector

如果传入线程数,则使用传入的线程数

如果没有传入线程数,则获取配置的线程数 与 系统的cpu核数*2 比大小

防。 止存在0线程的情况,所以与1比大小,获取较大值

设定了2个thread,打印的eventLoop就是2个来循环工作

public class TestEventLoop { public static void main(String[] args) { NioEventLoopGroup eventExecutors = new NioEventLoopGroup(2); System.out.println(eventExecutors.next()); System.out.println(eventExecutors.next()); System.out.println(eventExecutors.next()); System.out.println(eventExecutors.next()); } }
Connected to the target VM, address: '127.0.0.1:50255', transport: 'socket' io.netty.channel.nio.NioEventLoop@5e57643e io.netty.channel.nio.NioEventLoop@133e16fd io.netty.channel.nio.NioEventLoop@5e57643e io.netty.channel.nio.NioEventLoop@133e16fd Disconnected from the target VM, address: '127.0.0.1:50255', transport: 'socket'

EventLoopGroup 是一组 EventLoop, Channel 一般会调用 EventLoopGroup 的 register 方法来绑定其中一个 EventLoop, 后续这个 Channel 上的 io 事件都由此 EventLoop 来处理(保证了 io 事件处理时的线程安全)

eventloop :客户端与服务器端建立链接之后,一直是同一个eventloop来操作

问题是channel3是不是也能绑定eventloop1呢?

channel是只能绑定一个eventloop,而eventloop是不是能绑定多个channel呢?

答案:是的,正好利用的是io多路复用

niosocketchannel与nioseversocketchannel的区别是什么,一个client来建立链接了,服务器端这边建立的channel是什么channel

  • NioServerSocketChannel是服务端的 “监听大门”,只处理连接请求,全程只有少数实例;
  • NioSocketChannel是服务端和客户端的 “通信管道”,每个客户端连接对应一个,处理数据读写;
  • 客户端连接建立时,服务端核心动作是:NioServerSocketChannel接收请求 → 新建NioSocketChannel→ 后续通信都用这个NioSocketChannel

我们在添加handler的时候,handler内部要是有比较耗时的nio操作,会影响(为社么会影响,根本原因是什么)

所以这个时候,会引入defaulteventloop去做这个比较耗时的业务

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/28 14:05:23

Qwen3-VL-4B Pro部署教程:解决transformers版本兼容的内存补丁实践

Qwen3-VL-4B Pro部署教程:解决transformers版本兼容的内存补丁实践 想快速体验一个能“看懂”图片的AI助手吗?Qwen3-VL-4B Pro就是一个不错的选择。它基于阿里通义千问的官方4B模型,不仅能识别图片里的物体,还能回答关于图片的各…

作者头像 李华
网站建设 2026/8/30 20:59:06

通义千问1.5-1.8B-Chat-GPTQ-Int4在LaTeX文档编写中的智能排版辅助

通义千问1.5-1.8B-Chat-GPTQ-Int4在LaTeX文档编写中的智能排版辅助 写学术论文或者技术手册,最头疼的环节是什么?很多人会说是排版。尤其是用LaTeX,虽然最终效果专业漂亮,但那一堆复杂的命令和语法,还有动不动就报错的…

作者头像 李华
网站建设 2026/9/1 21:33:36

经典歌曲免费下载分享

经典歌曲免费下载分享 文章目录经典歌曲免费下载分享一、前言二、歌曲分享三、其他一、前言 马上过年了,可能大部分上班的人都没什么心思上班了。 分享点轻松的音乐干货资源。 这里免费分享一下可以播放的一些mp3和mp4音乐歌曲,有需求的可以收藏下载。…

作者头像 李华
网站建设 2026/9/2 4:04:13

你以为自己漏消息了?其实是 GitHub “卡了下”

2月9日 GitHub 确实出现了一波 通知延迟,并且伴随 多个核心服务的性能降级:包括 Actions、Git Operations、Issues、Pull Requests、Webhooks、Packages、Pages、Codespaces,甚至还波及到 Copilot、Dependabot 等相关能力。最后官方宣布恢复正…

作者头像 李华
网站建设 2026/9/2 22:56:19

中医学四大经典著作,不包括本草纲目

中医学四大经典的认定,不包括本草纲目。中医学四大经典是指《黄帝内经》《难经》《伤寒杂病论》和《神农本草经》。这些著作成书于战国至东汉时期,奠定了中国传统医学的理论基础。其中,《黄帝内经》和《难经》为理论经典,而《伤寒…

作者头像 李华
网站建设 2026/9/2 22:07:49

为什么AI Native公司更需要飞函私有化IM

在AI创业浪潮中,越来越多的AI Native公司如雨后春笋般涌现。这些公司以AI为核心竞争力,业务高度依赖算法、数据和模型。然而,在选择内部协同工具时,许多AI公司却忽视了一个关键问题:你的聊天记录,可能比你想…

作者头像 李华