根据Nettys Docs,GlobalEventExecutor是
单线程单例EventExecutor
这意味着它使用一个线程并且只有一个实例。我在新线程中使用GlobalEventExecutor。该类是始终使用当前线程还是使用一个线程来完成所有操作?
如果第二个是正确的,那么意味着在Thread-Pool中使用GlobalEventExecutor并不是真的有意义。我会使用Thread-Pool代替我的Promises,但我必须像GlobalEventExecutor一样使它全局化。
我如何解决这个问题。
答案 0 :(得分:2)
GlobalEventExecutor
是一个基于单线程的事件执行程序。
如果在提交新任务时需要,此课程将start a new thread。该线程不与执行代码的线程共享。
即使您从多个类调用此全局实例,它也只会在后台使用单个线程来执行任务。
当此类检测到暂时没有提交任务时,它将关闭其内部线程,并在需要时再次重新创建它。默认时间为1秒。
This can be verified by looking at the source of GlobalEventExecutor 的