![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Netty
文章平均质量分 65
以Reactor模式为纲,深入理解Netty原理和源码
ustbxyls
这个作者很懒,什么都没留下…
展开
-
Netty中的各个关键时间点(一)
这些关键时间点,是理解Netty 和 事件驱动的关键角色:主线程,主Reactor线程(bossGroup中的EventLoop), 从Reactor线程(workGroup中的EventLoop)原创 2024-06-20 10:54:22 · 665 阅读 · 0 评论 -
Netty中Reactor线程的运行逻辑
当Reactor正在Selector上阻塞时,如果此时用户线程向Reactor提交了异步任务,Reactor线程会通过execute方法被唤醒。是在当Socket写入缓冲区以满无法继续写入发送数据时由用户自己注册。的运行框架,那么我们现在来看下这个运行框架具体是怎么运转的~~这里需要注意的是netty只会自动注册。执行Netty中的异步任务。正是这三个部分组成了。OP_WRITE事件。原创 2024-06-18 15:58:51 · 326 阅读 · 0 评论 -
Netty中的各个关键时间点(二)
前置说明本文主要记录Netty中的一些主要的关键时间点,是理解Netty 和 事件驱动的关键。也是阅读Netty源码的指导。代码来源:Netty 4.1.77本文涉及到的角色:角色:主线程,主Reactor线程(bossGroup中的EventLoop), 从Reactor线程(workGroup中的EventLoop),结合Reactor编码模型理解。原创 2024-06-20 16:47:21 · 221 阅读 · 0 评论 -
Netty中的Reactor模型实现
其中Linux kernel 在5.1版本引入的异步IO库io_uring正在netty中孵化。有着不同的实现,我们只需要切换不同的实现类就可以完成对Netty。比如Linux 2.6版本以上用的是。根据操作系统以及版本的不同选择对应的。Netty版本:4.1.17。,2.6版本以下用的是。IO多路复用技术实现。原创 2024-06-17 15:17:23 · 322 阅读 · 0 评论 -
Netty中的ChannelHandler和ChannelHandlerContext
Netty 引入 ChannelHandlerContext 来封装 ChannelHandler 的原因,在代码设计上还是遵循单一职责的原则, ChannelHandler 是用户接触最频繁的一个 netty 组件,netty 希望用户能够把全部注意力放在最核心的 IO 处理上,用户只需要关心自己对哪些异步事件感兴趣并考虑相应的处理逻辑即可,而并不需要关心异步事件在 pipeline 中如何传递,如何选择具有执行条件的 ChannelHandler 去执行或者跳过。原创 2024-06-21 07:31:19 · 163 阅读 · 0 评论