Java:Netty和多线程Invoker(命令模式)

时间:2018-02-01 14:28:40

标签: java multithreading netty command-pattern

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

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

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

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

  

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

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

  

这是好习惯吗?

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