【问题标题】:Java: Netty and multithreaded Invoker (Command Pattern)Java:Netty 和多线程调用程序(命令模式)
【发布时间】:2018-02-01 14:28:40
【问题描述】:

我目前正在使用NettyCommand Pattern 开发服务器。在调用程序的实现过程中,我想到了使用多个线程来实现它,以确保较高的命令执行性能。

但是,我开始怀疑 Netty 是否有必要这样做,因为 Netty 会自行创建多个线程。所以现在我的问题是:如果我将线程安全的调用程序对象传递给 Netty 处理程序并从那里调用 invoke() 方法,调用程序是否已经是多线程的?如果是这种情况,这是一种好的做法还是我应该创建自己的调用程序线程?

感谢您的帮助!

【问题讨论】:

    标签: java multithreading netty command-pattern


    【解决方案1】:

    经过更多研究,我找到了问题的答案。如果有人遇到类似问题,我会在这里发布:

    如果我将线程安全的调用程序对象传递给 Netty 处理程序并从那里调用 invoke() 方法,调用程序是否已经是多线程的?

    是的,除非另有说明,否则 Netty 处理程序将建立 2 * count of cores 线程。因此,通道处理程序通常在不同的线程中执行,因此由于 netty 的性质,command.execute() 方法的简单调用已经是多线程的。

    这是好的做法吗?

    是的,否则会创建太多线程,而 netty 工作线程的任务将被不必要地委派。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-24
      • 2013-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多