Netty核心——Reactor下篇(十)

任务队列中的Task有3种典型使用场景

用户程序自定义的普通任务

  • 比如有一个非常耗时长的业务
    1. 异步执行
    2. 提交该Channel对应的NioEventLoop的TaskQueue中

用户自定义定时任务

  • 该任务提交到scheduleTaskQueue中

非当前Reactor线程调用Channel的各种方法

  • 例如在推送系统的业务线程里面,根据用户的标识,找到对应的 Channel 引用,然后调用 Write 类方法向该用户推送消息,就会进入到这种场景。最终Write会提交到任务队列中后被异步消费

 Netty线程模型再说明

  1. Netty抽象出两组线程池,BossGroup专门负责接收客户端连接,WorkerGroup专门负责网络读写操作。
  2. NioEventLoop表示一个不断循环执行处理任务的线程,每个NioEventLoop都有一个selector,用于监听绑定在其上的socket网络通道。
  3. NioEventLoop内部采用串行化设计,从消息的读取->解码->处理->编码->发送,始终由IO线程NioEventLoop负责
  4. 结构
    • NioEventLoopGroup下包含多个NioEventlLoop
    • 每个NioEventLoop中包含有一个Selector,一个TaskQueue
    • 每个NioEventLoop的Selector上可以注册监听多个NioChannel
    • 每个NioChannel只会绑定在唯一的NioEventLoop上
    • 每个NioChannel都绑定有一个自己的ChannelPipeline

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iOS 17.4 苹果公司正在加倍投入人工智能

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

MySQL进阶45讲【8】MySQL事务到底是隔离的还是不隔离的?

1 前言 在 MySQL进阶45讲【3】事务隔离的恩恩怨怨 这篇文章和大家讲事务隔离级别的时候提到过,如果是可重复读隔离级别,事务T启动的时候会创建一个视图read-view,之后事务T执行期间,即使有其他事务修改了数据,事务T看…

【论文复现】基于CGAN的手写数字生成实验——模型改进

文章目录 2.4.1 超参数调整一、batch size二、 epochs三、 Adam:learning rate四、 Adam:weight_decay五、 n_critic 2.4.2 模型改进一、 超参数优化(一)batch size(二)learning rate(三&#x…

嵌入式-PCB-两层板-开关控制LED

参考视频:《黑马程序员嵌入式开发入门模电(模拟电路)基础P50-P63集》 推荐: 《嘉立创PCB下单平台》 《技术指导:下单前技术员必看 》 《下单员必看事项 》 《工艺参数》 文章目录 需求初步画图软件选型关键字&#xf…

IP地址的分类

总结: 网段可以理解为ip地址。 ip地址分为有类和无类。有类是为了好分类管理,但是有缺点利用率不高。无类有vlsm,更好利用率。 ip分为网络标识符(网络 ID)和主机标识符(主机 ID):…

JavaWeb学习|Cookie

学习材料声明 所有知识点都来自互联网,进行总结和梳理,侵权必删。 引用来源:尚硅谷最新版JavaWeb全套教程,java web零基础入门完整版 在此之前,复习一下如何创建项目 首先创建正常的Java项目,之后选择add framework…

【MATLAB源码-第129期】基于matlab的16QAM盲均衡(CMA常数模+LMS最小均方)仿真,对比均衡前后的星座图。

操作环境: MATLAB 2022a 1、算法描述 基于CMA(常数模) LMS(最小均方)算法的16QAM信号盲均衡是一种复杂的信号处理技术,旨在改进数字通信系统中信号的质量和可靠性。这一技术主要应用于高阶调制如16QAM&a…

idea激活教程(2020.1.4及以上版本)

首先点击试用版本,进入软件,再依次进行一下操作 一、在idea的Plugins配置中添加Z大的插件市场 上图中加载出来的插件是默认的,大家不用在意,直接点击“Manage Plugin Repositoryies…”打开配置弹窗 点击号,添加一行…

未来计算的革命:探索存算一体芯片的潜力与挑战

​ 前言 本文学习自:存算一体芯片深度产业报告——作者:量子位 报告链接:存算一体是啥新趋势?值得教授学者纷纷下海造芯 | 附报告下载 - 知乎 (zhihu.com),侵删! 存算一体技术概述 “存算一体”技术的…

Web开发8:前后端分离开发

在现代的 Web 开发中,前后端分离开发已经成为了一种常见的架构模式。它的优势在于前端和后端可以独立开发,互不干扰,同时也提供了更好的可扩展性和灵活性。本篇博客将介绍前后端分离开发的概念、优势以及如何实现。 什么是前后端分离开发&am…

通过Demo学WPF—数据绑定(一)✨

前言✨ 想学习WPF,但是看视频教程觉得太耗时间,直接看文档又觉得似懂非懂,因此想通过看Demo代码文档的方式进行学习。 准备✨ 微软官方其实提供了WPF的一些Demo,地址为:microsoft/WPF-Samples: Repository for WPF …

【lesson24】MySQL索引的理解

文章目录 建立测试表插入多条记录查看插入结果中断一下---为何IO交互要是 Page重谈page理解单个page理解多个page 页目录单页情况多页情况复盘一下InnoDB 在建立索引结构来管理数据的时候,其他数据结构为何不行?B vs B聚簇索引 VS 非聚簇索引 建立测试表…