Netty源码分析一启动流程剖析-Netty启动流程总结

1.initAndRegister()对channel进行初始化、注册,返回regFuture(promise对象)

    1.1 init  main(主线程中完成)

          创建NioServerSocketChannel  (相当于Nio中的ServerSocketChannel                  serverSocketChannel = ServerSocketChannel.open(); ) mian

           往NioServerSocketChannel添加初始化器handler main

           初始化handler等待调用 (初始化handler使accept事件发生后建立连接)nio-thread调用

    1.2 register(切换线程)

           启动nio boss  线程 main

           原始serverSocketChannel注册至Selector,此时还未关注事件 nio-thread

           执行NioServerScokerChannel初始化handler nio-thread

2. regFuture的回调doBind() nio-thread

    原生ServerSocketChannel绑定端口 nio-thread(相当于nio中的  serverSocketChannel.bind(new InetSocketAddress(8080)))nio-thread

    触发NioServerSocketChannel绑定的handler的channelActive方法。nio-thread

    

           

          

上一篇:Pytorch转onnx


下一篇:使用阿里云试用Elasticsearch学习:3.3 处理人类语言——归一化词元