Guava是Google开源的一个Java基础类库,它在Google内部被广泛使用。Guava提供了很多功能模块比如:集合、并发库、缓存等,EventBus是其中的一个module,本篇主要讲一下EventBus的使用。
简单介绍
- EventBus:核心类,代表了一个事件总线。Publish事件也由它发起。
- AsyncEventBus:异步事件总线,在分发事件的时候,将其压入一个全局队列的异步分发模式。
- Subscriber:对某个事件的处理器抽象,封装了事件的订阅者以及处理器,并负责事件处理。
- SubscriberRegistry:订阅注册表,它用于存储Subscriber跟Event的对应关系,以便于EventBus在publish一个事件时,可以找到它对应的Subscriber。
- Dispatcher:事件分发器,它定义了事件的分发策略。
在Dispatcher提供了三个不同的分发器实现: PerThreadQueuedDispatcher 它比较常用,针对每个线程构