2013-11-28 20 views
0

我很困惑,爲什麼事件總線需要threadlocal在這裏?爲什麼事件總線需要ThreadLocal EventWithHandler

/** 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 FOR AsycEventBus要覆蓋的方法和enqueueEvent ?? dispatchQueuedEvents

+0

你有什麼選擇? –

回答

1

它用於處理事件的重入式發佈 - 例如,如果一個事件訂閱者發佈一個或多個其他事件,他們將進入隊列。然後這些事件可以在事件總線完成處理當前事件後之後發佈給其訂戶

+0

現在我明白了。 – beneo