netty框架之bootstrap.group(bossGroup, workerGroup),究竟有什么用?在线解开迷惑

 我们所困惑的是自己自大导致的


疑惑

代码:  bootstrap.group(bossGroup, workerGroup) ; 

1、这个代码是不是就是初始化两个线程,线程已经开启了?

解惑:是初始化两个线程,一个线程负责接受新的连接,一个负责处理读写;是开启了;


2、bossGroup线程初始化以后再干嘛?

解惑:bossGroup线程的机制是多路复用,虽然是一个线程但是可以监听多个新连接;

举个例子:

         假设有A,B,C三个连接,先连接A,如果A还没连接上,立刻返回,不会一直等待,就不会阻塞其他客户端连接服务器;

          然后去连接B,B连接上了;

          再连接C,C连接还没到的话,立刻返回,不去等待,避免其他客户端连接不上阻塞;

         现在再返回连接A,A连接上了,就ok了;

核心思想:轮询,没有连接立刻返回不要耽误其他的客户端连接,不会阻塞;一个线程不会浪费资源;


3、这个代码怎么与多路复用selector怎么挂钩?

解惑:两个线程,一个是bossGroup,一个是workerGroup,他们的机制都是多路复用selector,一个线程监听多个客户端,看上面问题的例子,就知道什么是多路复用selector


4、bossGroup负责与客户端建立连接的,既然有客户端等待连接,就不存在连不上,怎么会需要多路复用轮询呢?

解惑: 需要用多路复用,服务器与客户端一对多,轮询的核心代码是for循环;

           既然存在客户端连接,不存在连接不上,轮询次数比较少(除非客户端有问题);


 

 

 

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_37591637

请给我持续更新的动力~~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值