netty

NioEventLoopGroup

  • EventExecutorChooser

    • PowerOfTwoEventExecutorChooser.next() i->idx & executors.length - 1
    • GenericEventExecutorChooser.next() i->Math.abs(idx.getAndIncrement() % executors.length)

ThreadPerTaskExecutor

  • 每次执行任务都会创建一个线程实体
  • NioEventLoop 命名规则

DefaultThreadFactory

NioEventLoopGroup初始化

image-20190828225650173

NioEventLoopGroup启动流程

  • 服务端启动绑定端口

  • 新接入通过chooser绑定一个NioEventLoop

    Bind()-> excute(task) 入口

image-20190907113714280