netty服务端启动流程图
2022-04-26 10:48:18 0 举报
netty服务端启动流程图
作者其他创作
大纲/内容
端口绑定
创建事件循环选择器
创建通道工厂
将通道注册逻辑添加至任务队列
添加管道自定义处理器
创建worker事件循环组EventLoopGroup
执行任务队列的任务(也就是通道注册任务)
这个动作是由EventLoop线程做的
触发管道注册事件
创建事件循环
监听通道关闭事件
此时连接才能添加进管道
原生通道设置为非阻塞
通道与事件循环关联
触发管道添加事件
创建服务引导器ServerBootstrap
获取某个事件循环
通道注册
是否事件循环线程
创建原生通道
创建通道
创建事件循环数组
通道开始监听读事件
为boss事件循环组设置处理器
这里是异步的,并且是阻塞的,因为注册逻辑还没有走完
创建Boss事件循环组EventLoopGroup
服务端停止
是
详细流程
触发管道读事件
通道初始化
现阶段只能是否
绑定端口并启动
为worker事件循环组设置处理器
原生通道绑定OP_ACCEPT事件
启动EventLoop线程
引导器关联主从事件循环组
线程执行器设置执行任务executor
创建管道pipeline并初始化head、tail结点
创建线程执行器
管道添加ChannelInitializer处理器(连接器)
添加管道Acceptor连接器
初始化事件循环数组
创建选择器selector
服务端启动
创建任务队列taskQueue
通道注册进选择器(selector)
否
创建尾任务队列tailTaskQueue
通道是否关闭
0 条评论
下一页