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

Java: Netty and multithreaded Invoker (Command Pattern)

我目前正在使用 Netty and the Command Pattern 开发服务器。在实现invoker的过程中,为了保证命令的执行性能,我萌生了使用多个线程来实现的想法。

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

感谢您的帮助!

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

Is the invoker already multi-threaded, if I pass a thread safe invoker object to the Netty handlers and call the invoke()-method from there?

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

Is this good practice?

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