Refer
事件总线 (简称 EBus) 是一个消息派发通用系统。事件总线有许多优势:
- 抽象化 – 最大限度减少系统间的硬性依赖。
- 事件驱动编程 – 消除轮询模式,以获得可扩展性更高的高性能软件。
- 更清晰的应用程序代码 – 安全分派消息,无需担心谁在处理消息或消息究竟是否在处理。
- 并发 – 对来自各线程的事件进行排队,以在另一线程上安全执行,或用于分布式系统应用程序。
- 可预测性 – 为给定总线上处理程序的排序提供支持。
- 调试 – 拦截消息以进行报告、分析和自检。
您可以以多种不同的方式使用事件总线。下面是一些示例:
- 作为直接全局函数调用
- 将处理分派到多个处理程序
- 将所有调用放入队列,就像命令缓冲区一样
- 作为可寻址的邮箱
- 用于紧急交付
- 用于排队交付
- 将函数调用自动封送到网络消息或其他命令缓冲区中
可在 Lumberyard 目录位置 `<root>
\dev\Code\Framework\AZCore\AZCore\EBus\EBus.h` 中找到事件总线源代码。