没有合适的资源?快使用搜索试试~ 我知道了~
03-04-06-大名鼎鼎的EventLoop1
需积分: 0 0 下载量 144 浏览量
2022-08-04
17:15:42
上传
评论
收藏 742KB PDF 举报
温馨提示
试读
13页
第 5 章Netty 高性能之道第 6 章揭开 BootStrap 的神秘面纱第 7 章大名鼎鼎的 EventLoop第 8 章Netty 大动脉 Pipeli
资源详情
资源评论
资源推荐
咕泡出品,必属精品 www.gupaoedu.com
1
第 3 篇
Netty 核心篇
第 5 章 Netty 高性能之道
第 6 章 揭开 BootStrap 的神秘面纱
第 7 章 大名鼎鼎的 EventLoop
第 8 章 Netty 大动脉 Pipeline
第 9 章 Promise 与 Future 双子星的秘密
第 10 章 Netty 内存分配 ByteBuf
第 11 章 Netty 编解码的艺术
3
咕泡出品,必属精品 www.gupaoedu.com
2
第 7 章
大名鼎鼎的 EventLoop
课程目标
1、深入了解 Netty 的运行机制。
2、掌握 NioEventLoop、Pipeline、ByteBuf 的核心原理。
3、掌握 Netty 常见的调优方案。
内容定位
1、希望深入了解 Netty 源码的人群。
2、未来可能参与中间件开发的人群。
7
咕泡出品,必属精品 www.gupaoedu.com
3
7.1 EventLoopGroup 与 Reactor
前面的章节中我们已经知道了,一个 Netty 程序启动时,至少要指定一个 EventLoopGroup(如果使用到的是 NIO,通
常是指 NioEventLoopGroup),那么,这个 NioEventLoopGroup 在 Netty 中到底扮演着什么角色呢? 我们知道,Netty
是 Reactor 模型的一个实现,我们就从 Reactor 的线程模型开始。
7.1.1 浅谈 Reactor 线程模型
Reactor 的线程模型有三种:单线程模型、多线程模型、主从多线程模型。首先来看一下单线程模型,如下图所示:
所谓单线程, 即 Acceptor 处理和 andler 处理都在同一个线程中处理。这个模型的坏处显而易见:当其中某个 Handler
阻塞时, 会导致其他所有的 Client 的 Handler 都得不到执行,并且更严重的是,Handler 的阻塞也会导致整个服务不能
接收新的 Client 请求(因为 Acceptor 也被阻塞了)。因为有这么多的缺陷,因此单线程 Reactor 模型应用场景比较少。
那么,什么是多线程模型呢? Reactor 的多线程模型与单线程模型的区别就是 Acceptor 是一个单独的线程处理,并且
有一组特定的 NIO 线程来负责各个客户端连接的 IO 操作。Reactor 多线程模型如下图所示:
剩余12页未读,继续阅读
天眼妹
- 粉丝: 21
- 资源: 333
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0