我很困惑,为什么eventbus在这里需要threadlocal?
/** queues of events for the current thread to dispatch */
private final ThreadLocal<Queue<EventWithHandler>> eventsToDispatch =
new ThreadLocal<Queue<EventWithHandler>>() {
@Override protected Queue<EventWithHandler> initialValue() {
return new LinkedList<EventWithHandler>();
}
};
JUST FORAsycEventBus覆盖方法enqueueEvent和dispatchQueuedEvents??
它用于处理事件的可重入发布——例如,如果一个事件订阅者发布了一个或多个其他事件,它们将进入队列。然后,在事件总线完成处理当前事件后,这些事件可以发布到它们的订阅者。