【问题标题】:Understanding how netty works了解 netty 的工作原理
【发布时间】:2012-12-11 15:39:18
【问题描述】:

我试图了解 netty 是如何工作的,在阅读了一些文档后,我想看看我是否理解了高层次的工作原理。

netty 基本上有一个事件循环,所以每当你调用它时,它都会被序列化,请求会被下推到 o/s 级别,它使用 epoll 并等待事件发送回 netty。

当操作系统生成 netty 订阅的事件时,netty 就会触发一个事件循环。

现在感兴趣的部分是,必须解析被触发的事件,并且客户端代码(或自定义代码)必须弄清楚该事件的真正对象。

例如,如果这是用于聊天应用程序,则在发送消息时,由客户端代码决定是否通过 ajax 将此消息发送给正确的用户。

这是对 netty 工作原理的正确概述吗?

顺便说一句,当 netty 监听通过 epoll 发送的事件时,这个事件循环是单线程的还是从线程池中工作的?

【问题讨论】:

    标签: asynchronous netty


    【解决方案1】:

    对我来说听起来是正确的。

    Netty 中有多个事件循环线程,但这并不意味着单个 Channel 的事件由多个事件循环线程处理。 Netty 选择一个线程并将其分配给一个 Channel。分配后,与 Channel 相关的所有事件都由选择的线程处理。

    这也不一定意味着一个事件循环线程只处理一个 Channel。一个事件循环线程可以处理多个 Channel。

    【讨论】:

      猜你喜欢
      • 2016-02-20
      • 2011-02-18
      • 2018-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多