Nettys GlobalEventExecuter 是否使用当前线程?
Does Nettys GlobalEventExecuter utilize the current Thread?
根据 Nettys 文档,GlobalEventExecutor 是一个
Single-thread singleton EventExecutor
这意味着它使用一个线程并且只有一个实例。我在新线程中使用 GlobalEventExecutor。 class 是始终使用当前线程还是使用一个线程处理所有事情?
如果第二个是正确的,则意味着在线程池中使用 GlobalEventExecutor 没有任何意义。我会为我的承诺使用线程池,但我必须像 GlobalEventExecutor 一样使它成为全局的。
我该如何解决这个问题。
GlobalEventExecutor
是一个基于单线程的事件执行器。
如果需要,提交新任务时,class 将 start a new thread。此线程未与执行代码的线程共享。
即使你从多个classes调用这个全局实例,它也只会在后台使用一个线程来执行任务。
当这个class检测到有一段时间没有提交任务时,它会关闭它的内部线程,并在需要时重新创建它。这个时间默认是1秒。
This can be verified by looking at the source of GlobalEventExecutor.
根据 Nettys 文档,GlobalEventExecutor 是一个
Single-thread singleton EventExecutor
这意味着它使用一个线程并且只有一个实例。我在新线程中使用 GlobalEventExecutor。 class 是始终使用当前线程还是使用一个线程处理所有事情?
如果第二个是正确的,则意味着在线程池中使用 GlobalEventExecutor 没有任何意义。我会为我的承诺使用线程池,但我必须像 GlobalEventExecutor 一样使它成为全局的。
我该如何解决这个问题。
GlobalEventExecutor
是一个基于单线程的事件执行器。
如果需要,提交新任务时,class 将 start a new thread。此线程未与执行代码的线程共享。
即使你从多个classes调用这个全局实例,它也只会在后台使用一个线程来执行任务。
当这个class检测到有一段时间没有提交任务时,它会关闭它的内部线程,并在需要时重新创建它。这个时间默认是1秒。
This can be verified by looking at the source of GlobalEventExecutor.