美文网首页
Netty启动

Netty启动

作者: 书唐瑞 | 来源:发表于2019-10-17 23:28 被阅读0次

    在开发一个服务端时并不是很难的, 甚至模式都是很相似的. 通过一个启动类ServerBootstrap将必要的参数和属性等设置好之后, 再通过一个bind方法就像一个导火索一样, 触发了Netty的启动.

    NioServerSocketChannel

    • 创建
    • 初始化
    • 注册
    • 绑定

    NioEventLoop

    • 创建
    • 启动
    • 执行

    在执行ServerBootstrap.bind方法之前,NioEventLoop已完成创建, 但还未启动和执行. 此时在执行bind的过程中, 进行NioServerSocketChannel创建和初始化. 而所谓的注册, 有两个层面含义, 第一个含义是Netty层面将NioServerSocketChannel和NioEventLoop进行关联, 第二层注册是JDK层面将channel和selector进行关联, 而就是这个第二层注册是通过任务的形式添加到NioEventLoop的MSPC队列中. 正是由这个第一个任务便启动了NioEventLoop. 之后的绑定接口操作也是以任务的形式添加到队列中.

    NioEventLoop启动之后, 便开始了最重要的执行操作. 它是一个无限循环, 在循环中主要做三件事 :

    1. 监听事件
    2. 处理事件
    3. 处理队列中任务

    相关文章

      网友评论

          本文标题:Netty启动

          本文链接:https://www.haomeiwen.com/subject/ehebmctx.html