netty-NioServerSocketChannel和boss NioEventLoopGroup 如何建立关系的

netty-NioServerSocketChannel和boss NioEventLoopGroup 如何建立关系的_第1张图片
一、
EventLoopGroup bossGroup = new NioEventLoopGroup();
EventLoopGroup workerGroup = new NioEventLoopGroup();
1、boss 或者 worker
NioEventLoopGroup 初始化完成了一个NioEventLoop 数组 (默认机器核数的2倍)所有NioEventLoop 持有了同一个Executor 调用execute时立即生成一个新线程并且执行Runable
二、
ServerBootstrap b = new ServerBootstrap(); // (2)
继承AbstractBootstrap
1、就是初始化了boss 和work 将用到的option 和attr的容器
2、还有个ServerBootstrapConfig 这个就是通过config 来获取bootstrap的属性
三、 b.group(bossGroup, workerGroup)
分别将bossGroup,workerGroup设置给AbstractBootstrap和ServerBootstrap的对应属性
四、 .channel(NioServerSocketChannel.class)
封装一个java.nio 的获取ServerSocketChannel 的工厂类持有ServerSocketChannel的构造器
五、 .childHandler(new ChannelInitializer() { // (4)
@Override
public void initChannel(SocketChannel ch) throws Exception {

你可能感兴趣的:(java,netty)