![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
netty
文章平均质量分 93
追逐消失的记忆
这个作者很懒,什么都没留下…
展开
-
Netty 通信原理
本文主要从 网络通讯原理中的select 和 epoll 系统调用入手,来打开 Netty 的大门,从认识 Netty 的基础原理 —— I/O 多路复用模型开始 Netty 底层的通信机制是基于I/O多路复用模型构建的,简单一句话概括就是多路网络连接可以复用一个I/O线程,在 Java 层面也就是封装了其 NIO API,但是 JDK 底层基于 Linux 的 epoll 机制实现(其实是三个函数)。注意在老旧的 Linux 上,可能还是 select,没考证过,但是时下主流版本,肯定早就是 epoll原创 2022-02-14 16:25:34 · 1022 阅读 · 0 评论 -
深入理解 NioEventLoop启动流程
NioEventLoop的启动时机是在服务端的NioServerSocketChannel中的ServerSocketChannel初始化完成,且注册在NioEventLoop后执行的, 下一步就是去绑定端口,但是在绑定端口前,需要完成NioEventLoop的启动工作, 因为程序运行到这个阶段为止,依然只有MainThread一条线程,下面就开始阅读源码看NioEventLoop如何开启新的线程 总想说 NioEventLoop的整体结构,像极了这个图 NioEven转载 2020-10-28 14:24:17 · 723 阅读 · 0 评论 -
netty之NioEventLoopGroup
Netty的NioEventLoopGroup及NioEventLoop初始化工作的源码阅读笔记, 如下图,是Netty的Reactor线程模型图,本文描述NioEventLoopGroup等价于我在图中标红的MainReactor组件,全篇围绕它的初始化展开,难免地方理解的不正确 在Nio网络编程模型的图示是下面那张图, 单条Thread全职执行一个Selector,首先是服务端在启动的时候,会把代表服务端的ServerSockerChannel注册进Selector,且感兴趣的事件是Accept, 一原创 2020-10-28 11:35:51 · 10266 阅读 · 0 评论