Events 为什么EventBus需要EventWithHandler的ThreadLocal
我很困惑为什么eventbus需要threadlocalEvents 为什么EventBus需要EventWithHandler的ThreadLocal,events,event-handling,guava,Events,Event Handling,Guava,我很困惑为什么eventbus需要threadlocal /** queues of events for the current thread to dispatch */ private final ThreadLocal<Queue<EventWithHandler>> eventsToDispatch = new ThreadLocal<Queue<EventWithHandler>>() { @Override
/** 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>();
}
};
/**当前线程要分派的事件队列*/
私有最终线程本地事件发送=
新ThreadLocal(){
@重写受保护的队列初始值(){
返回新的LinkedList();
}
};
仅用于AsyceEventBus重写方法enqueueEvent和dispatchQueuedEvents???它用于处理事件的重入过账——例如,如果一个事件订阅者过账一个或多个其他事件,他们将进入队列。然后,在事件总线处理完当前事件后,可以将这些事件发布到其订阅者。您想到了什么替代方案?