netty源码阅读之客户端新连接

旧城等待, 2022-05-17 12:18 261阅读 0赞

在《netty源码阅读之NioEventLoop之NioEventLoop执行——-processSelectedKey()执行》这篇文章中,我们分析到了他优化的方式,并且说明它一直在此检测io事件。客户端的新连接就从这里开始分析。

新连接的文章,主要分为以下几个小点分析源码:

1、检测新连接

2、创建客户端NioSocketChannel

3、给NioSocketChannel分配线程,并把selector注册到上面去

4、向上一步的selector注册读事件

带着下面两个问题,我们开始分析源码:

1、Netty是在哪里检测有新连接接入的?

boss线程的第一个过程,轮询出accept事件;第二个过程,boss线程通过jdk底层的channel的accept方法去创建这条连接。

2、新连接是怎样注册到NioEventLoop线程的?

boss线程调用chooser的next()方法拿到一个NioEventLoop,将这条新连接注册到NioEventLoop的selector上面去。

发表评论

表情:
评论列表 (有 0 条评论,261人围观)

还没有评论,来说两句吧...

相关阅读

    相关 netty阅读NioEventLoop

    初始阅读源码的时候,晦涩难懂,枯燥无味,一段时间之后就会觉得豁然开朗,被源码的魅力深深折服。 接下去要阅读的是netty的一个重要组件,NioEventLoop。 将会分为

    相关 netty阅读ByteBuf

    今天我们开启新的篇章,netty很重要的内存概念将在这一章介绍。ByteBuf主要介绍以下几点: 1、内存与内存管理器的抽象 2、不同规格大小和不同类别的内存的分配策略