Navigation

    西南IT社区
    • Register
    • Login
    • Search
    • 主页
    • 问答
    • 话题
    • 热门
    • 圈子
    • 工作机会
    • 活动
    • 项目

    Netty入门:EventLoop

    极客生涯
    eventloop netty入门
    1
    1
    55
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • 破
      破茧边缘 last edited by

      早些年基于线程的网络模型,处理高并发的能力非常的差,随着请求数量的增多,必须不断新建线程,随之带来的问题就是服务器资源被占满、上下文切换成本过高以及IO阻塞导致的CPU浪费。

      f3808e64-9c4a-40cc-9f39-10b0998d0d96-image.png

      EventLoopGroup是一个接口,它继承自线程池EventExecutorGroup,并允许注册channel到自身所持有的EventLoop,同时支持按一定规则获取下一个EventLoop。

      80bb294b-3f3b-4309-86d5-101d863704bd-image.png

      ScheduledExecutorService:是一个JDK接口,是一个能够支持延迟或定时任务的执行器,它的实现类ScheduledThreadPoolExecutor主要是利用了延时队列及设置下次执行时间来实现的。

      EventExecutorGroup:是一个接口,Netty自定义了一个线程池,并且负责复用EventExecutor和执行任务。

      EventLoopGroup:是一个核心接口,并且EventLoopGroup继承自EventExecutorGroup,代表它是一个线程池。同时它具备将channel注册到EventExecutorGroup的功能,也突出EventLoopGroup是一个能够真正处理Channel的特殊线程池。

      EventLoop直译为事件循环,他的职责简单来说就是绑定一个唯一的线程,去执行或调度被分配的任务。可见一个EventLoop实例可以为多个channel服务,而为了最大化利用资源,Netty使用池化技术将EventLoop放入EventLoopGroup中管理。

      474f05e0-db8d-45aa-bcc1-a5c01d8ee60d-image.png

      1 Reply Last reply Reply Quote 0
      • First post
        Last post
      使用HTML构建办公软件 使用HTML构建办公软件 使用HTML构建办公软件
      破
      1
      光
      A
      庆
      小
      U
      Y
      L
      I
      Z
      I
      Y
      C
      Z
      E
      Y
      U
      I
      A
      Z
      Y
      Y
      罗
      R

      西南地区IT社群(QQ)
      云南
      【昆明网页设计交流吧】243627302
      【昆明nodejs交流吧】 243626749
      【VUE】838405306
      【云南程序员总群】343606807
      【昆明UI设计】104031254
      【云南软件外包】15547313
      贵州
      【PHP/java源码/站长交流群】55692114
      四川
      【成都Java/JavaWeb交流】86669225
      【vaScript+PHP+MySql】116270060
      【UI设计/设计交流学习群】135794928
      重庆
      【诺基亚 JAVA游戏博物馆】 559479780
      【PHP,Java,Python,C++接单】 442103442
      西藏
      社群
      昆明网页设计交流吧
      友情链接
      • Funtask
      • Funtask 社区
      • SUWIS
      ©2019-2021 滇ICP备20006698号