06、Netty源码分析:NioEventLoop.executor

本文深入解析Netty框架中NioEventLoop线程池executor参数的创建过程,详细剖析DefaultThreadFactory、ThreadPerTaskExecutor和ThreadExecutorMap.apply三个核心组件的作用与协作机制,帮助开发者理解Netty高性能线程模型。

目录

    • DefaultThreadFactory
  • ThreadPerTaskExecutor
  • ThreadExecutorMap.apply

NioEventLoop的线程池参数executor创建如下

 

在开始分析ThreadExecutorMap.apply方法前先弄明白从NioEventLoopGroup传进来的executor是什么。
 

NioEventLoopGroupexecutor类型为ThreadPerTaskExecutor,也就是每一个task配一条线程。

接下来我们分三小步分析NioEventLoop.executor的创建过程:

1、 DefaultThreadFactory;
2、 ThreadPerTaskExecutor;
3、 ThreadExecutorMap.apply;

DefaultThreadFactory

DefaultThreadFactory用来创建线程,其构造过程如下
 

DefaultThreadFactory创建线程的方法newThread如下:
 

ThreadPerTaskExecutor

 

ThreadExecutorMap.apply

 

至此,NioEventLoop.executor参数创建完毕,当调用其execute方法执行任务时其本质是给其开启一个新的线程执行该任务,整个过程如下:
 

版权声明:本文不是「本站」原创文章,版权归原作者所有 | 原文地址: