Netty学习(三、Netty线程图与流程)

线程图如下

在这里插入图片描述

  1. Netty抽象出两组线程池BossGroup专门负责接收客户端的连接,WorkerGroup专门负责网络的读写

  2. BossGroup和 WorkerGroup类型都是NioEventLoopGroup

  3. NioEventLoopGroup相当于一个事件循环组,这个组中含有多个事件循环,每一个事件循环是NioEventLoop

  4. NioEventLoop表示一个不断循环的执行处理任务的线程,每个NioEventLoop都有一个selector ,用于监听绑定在其上的socket的网络通讯

  5. NioEventLoopGroup可以有多个线程,即可以含有多个NioEventLoop

  6. 每个Boss NioEventLoop循环执行的步骤有3步
    1.轮询accept事件
    2处理accept事件,与client建立连接,生成NioScocketChannel ,并将其
    注册到某个worker NlOEventLoop上的selector
    3.处理任务队列的任务,即runAllTasks

  7. 每个 Worker NIOEventLoop循环执行的步骤
    1.轮询read, write事件
    2.处理i/o事件,即read , write事件,在对应NioScocketChanhel处理
    3.处理任务队列的任务,即runAllTasks

  8. 每个worker NIOEventLoop 处理业务时,会使用pipeline(管道), pipeline中包含了channel,即通过pipeline可以获取到对应通道.管道中维护了很多处理器

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值