gpt4 book ai didi

java - 发布/订阅模型中事件回调的 Scala 初始化

转载 作者:搜寻专家 更新时间:2023-11-01 03:12:53 25 4
gpt4 key购买 nike

我有一个正在生成事件的发布者类,以及一堆想要订阅事件以运行它们自己的回调的监听器类。

所有这些监听器类都是预先知道的。

我的所有听众在应用程序启动时订阅发布者的最佳方式是什么?我希望所有特定于监听器的代码都成为监听器类的一部分。我在想听众可以在静态 block (对象)中订阅发布者,但据我了解 Java 延迟加载类所以不能保证所有的听众都会立即订阅。为了避免这种情况,我可能会采取一些措施来强制 JVM 立即加载我的所有监听器?

我还缺少更简单的东西吗?

最佳答案

使用 Actor !每个发布者一个 Actor ,每个订阅者一个 Actor 。发布者维护一个订阅者列表。通过向发布者发送类似以下内容的消息来添加订阅者:pub!添加(子)

当发布者有东西要发布时,它会遍历其订阅者列表和每一个消息。参见 http://www.scala-lang.org/node/242 Actor 介绍。

关于java - 发布/订阅模型中事件回调的 Scala 初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5876868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com