JavaDriver JavaDriver
首页
  • 基础
  • 并发
  • JVM
  • 设计模式
  • 计算机网络
  • 操作系统
  • 数据结构
  • 算法
  • MYSQL
  • REDIS
  • Netty
  • Kafka
系统设计
非技术
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

YoungAnn

西二旗Java老司机一枚 致力于社会主义添砖Java
首页
  • 基础
  • 并发
  • JVM
  • 设计模式
  • 计算机网络
  • 操作系统
  • 数据结构
  • 算法
  • MYSQL
  • REDIS
  • Netty
  • Kafka
系统设计
非技术
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • Netty

    • Netty
    • TCP粘包拆包问题的解决之道
    • Netty中有哪些解码器?
    • 为什么Netty要自己写一个ByteBuf
    • ChannelPipeline和ChannelHandler
    • EventLoop和EventLoopGroup
      • EventLoop和EventLoopGroup
    • Java NIO了解吗?
  • Kafka

  • 中间件
  • Netty
YoungAnn
2022-05-21
目录

EventLoop和EventLoopGroup

# EventLoop和EventLoopGroup

EventLoop负责处理连接中的事件, 和EvenvLoop有关的几个概念是:Channel, EventLoopGroup。

  • 一个EventLoopGroup包含一个或多个EventLoop。
  • 一个EventLoop对应于一个线程,所有EventLoop处理的I/O事件都在这个线程中完成。
  • 一个Channel对应唯一个一个EventLoop。
  • 一个EventLoop可以对应多个Channel。

对于基于Netty的网络服务,Client端启动需要一个EventLoopGroup, Server端启动需要两个EventLoopGroup, 因为Server端需要两种Channel, 一种是ServerChannel, 只有一个,负责接受连接,另一种是用于处理连接的一组Channel。

EventLoop继承了concurrent包里的 ScheduledExecutorService,这使得它可以接受Callable或者Runnable并执行。EventLoop中的parent()方法返回包含这个EventLoop的EventLoopGroup

编辑 (opens new window)
上次更新: 2022/05/22, 00:01:01
ChannelPipeline和ChannelHandler
Java NIO了解吗?

← ChannelPipeline和ChannelHandler Java NIO了解吗?→

最近更新
01
电商-商品系统设计
12-17
02
关于如何写OKR
12-09
03
对事不对人 vs 对人不对事
12-09
更多文章>
Theme by Vdoing | Copyright © 2022-2023 YoungAnnn | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式