根据 Nettys 文档 GlobalEventExecutor是一个
Single-thread singleton EventExecutor
这意味着它使用一个线程并且只有一个实例。我在新线程中使用 GlobalEventExecutor。该类是否始终使用当前线程,还是使用一个线程来处理所有事情?
如果第二个是正确的,则意味着在线程池中使用 GlobalEventExecutor 并没有真正意义。我会使用线程池来代替我的 Promise,但我必须将其设置为全局的,就像 GlobalEventExecutor 一样。
我该如何解决这个问题。
最佳答案
GlobalEventExecutor
是一个基于单线程的事件执行器。
该类将start a new thread提交新任务时是否需要。该线程不与执行代码的线程共享。
即使您从多个类调用此全局实例,它也只会在后台使用单个线程来执行任务。
当该类检测到一段时间内没有任务提交时,它会关闭其内部线程,并在再次需要时重新创建它。该时间默认为 1 秒。
This can be verified by looking at the source of GlobalEventExecutor .
关于java - Nettys GlobalEventExecuter 是否利用当前线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36738977/