Netty Reactor 线程模型

Reactor 线程模型是 Netty 实现高性能的核心所在,在 Netty 中 EventLoop 是 Reactor 线程模型的核心处理引擎,那么 EventLoop 到底是如何实现的呢?又是如何保证高性能和线程安全性的呢?

说明:本文参考的 Netty 源码版本为 4.1.42.Final。

文章目录

  • Reactor 线程执行的主流程
    • 轮询 I/O 事件
    • 处理 I/O 事件
      • 1. processSelectedKeysPlain
      • 2. processSelectedKeysOptimized
    • 处理异步任务队列
      • 任务添加
      • 任务执行
  • 总结

Reactor 线程执行的主流程

因为 Netty 是基于 NIO 实现的,所以推荐使用 NioEventLoop 实现,我们再次通过 NioEventLoop 的核心入口 run() 方法回顾 Netty Reactor 线程模型执行的主流程。

protected void run() {
   

    for (

你可能感兴趣的:(Netty从入门到理解)