Netty源码解析:第四篇深入探讨EventLoop机制?
- 内容介绍
- 文章标签
- 相关推荐
本文共计5247个文字,预计阅读时间需要21分钟。
1. Netty源码研究笔记(4)——EventLoop系列:EventLoop,即事件循环,是Netty I/O模型的抽象,负责处理I/O事件和任务。不同的EventLoop代表不同的I/O模型,其中最重要的是NioEventLoop。
1. Netty源码研究笔记(4)——EventLoop系列EventLoop,即事件驱动,它是Netty的I/O模型的抽象,负责处理I/O事件、任务。
不同的EventLoop代表着不同的I/O模型,最重要、最主要的是NioEventLoop,表示多路复用的I/O模型,对应jdk的NIO。
NioEventLoop是单线程的,它通过将I/O事件的等待时间用于执行其他任务,从而提高了线程的利用率,提高了单线程的吞吐量。
然而用户并不能直接使用EventLoop,应该使用EventLoopGroup,它代表了一组EventLoop。
1.1. 继承关系EventLoopGroup、EventLoop继承自EventExecutorGroup、EventExecutor。
EventExecutor、EventExecutorGroup中定义了任务执行的相关方法,它们继承于jdk的Executor系列,对其进行了增强,因此Netty同样扩展了jdk的Future。
EventLoop、EventLoopGroup新增了注册Channel的功能。
1.1.1. EventExecutorGroup注意EventExecutorGroup继承自ScheduledEventExecutorService,因此它有着提交延时任务的功能。
并且它继承了Iterable接口,因此他可以轮询自己管理的EventExecutor。
本文共计5247个文字,预计阅读时间需要21分钟。
1. Netty源码研究笔记(4)——EventLoop系列:EventLoop,即事件循环,是Netty I/O模型的抽象,负责处理I/O事件和任务。不同的EventLoop代表不同的I/O模型,其中最重要的是NioEventLoop。
1. Netty源码研究笔记(4)——EventLoop系列EventLoop,即事件驱动,它是Netty的I/O模型的抽象,负责处理I/O事件、任务。
不同的EventLoop代表着不同的I/O模型,最重要、最主要的是NioEventLoop,表示多路复用的I/O模型,对应jdk的NIO。
NioEventLoop是单线程的,它通过将I/O事件的等待时间用于执行其他任务,从而提高了线程的利用率,提高了单线程的吞吐量。
然而用户并不能直接使用EventLoop,应该使用EventLoopGroup,它代表了一组EventLoop。
1.1. 继承关系EventLoopGroup、EventLoop继承自EventExecutorGroup、EventExecutor。
EventExecutor、EventExecutorGroup中定义了任务执行的相关方法,它们继承于jdk的Executor系列,对其进行了增强,因此Netty同样扩展了jdk的Future。
EventLoop、EventLoopGroup新增了注册Channel的功能。
1.1.1. EventExecutorGroup注意EventExecutorGroup继承自ScheduledEventExecutorService,因此它有着提交延时任务的功能。
并且它继承了Iterable接口,因此他可以轮询自己管理的EventExecutor。

