我正在尝试使用AsyncEventBus
创建ThreadPoolExecutor
。我注意到AsyncEventBus
被硬编码为始终使用LegacyAsyncDispatcher
。 Dispatcher.legacyAsync()
状态的javadoc:
对于异步调度,通常应该优先考虑直接调度员。
但我无法找到任何方法实际创建AsyncEventBus
Dispatcher.immediate()
。然后EventBus
被硬编码以使用Dispatcher.perThreadDispatchQueue()
。
如何创建ImmediateDispatcher
并将其连接到EventBus
?
答案 0 :(得分:0)
我认为你正在阅读这个包的来源。请注意Dispatcher
is a package-private class,因此你无法创建(甚至引用)任何类型Dispatcher
的实例。因此Dispatcher.legacyAsync()
上的文档适用于其他库维护者,而不适用于eventbus
包的用户。
换句话说,只需使用AsyncEventBus
并传入您希望它使用的执行程序。也许有一天,维护者会将AsyncEventBus
的实现更改为不使用legacyAsync()
,但这不会对用户造成任何影响。