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
相关文章
- 04-17Netty源码分析一启动流程剖析-Netty启动流程总结
- 04-17【Netty之旅四】你一定看得懂的Netty客户端启动源码分析!
- 04-17菜鸟nginx源码剖析 框架篇(一) 从main函数看nginx启动流程(转)
- 04-17源码分析篇 - Android绘制流程(一)窗口启动流程分析
- 04-17Netty源码分析第1章(Netty启动流程)---->第5节: 绑定端口
- 04-17Netty源码分析第1章(Netty启动流程)---->第2节: NioServerSocketChannel的创建
- 04-17Netty(一):server启动流程解析
- 04-17netty服务端客户端启动流程分析
- 04-17Netty源码分析第1章(Netty启动流程)---->第4节: 注册多路复用
- 04-17Android4.0源码Launcher启动流程分析【android源码Launcher系列一】