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步
6.1、轮询accept事件
6.2、处理accept事件,与client建立连接,生成NioSocketChannel,并将其注册到某个Woker NioEeventLoop上的selector
6.3、处理任务队列的任务,即runAllTasks
7、每个Worker NioEventLoop循环执行的步骤
7.1、轮询read、write事件
7.2、处理I/O事件,即read、write,在对应的NioSocketChannel处理
7.3、处理任务队列的任务,即runAllTasks
8、每个Worker NioEventLoop处理业务时,会使用pipeline(管道),pipeline中包含了channel,即通过pipeline可以获取到对应通道,管道中维护了很多的处理器

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容