【发布时间】:2020-05-15 21:51:30
【问题描述】:
我是 Elixir 的新手,我有一堆正在运行的进程,我需要从另一个进程向所有进程广播一条消息。在查阅了Process 的文档后,我仍然不知道如何实现。
这可能不是最好的比较,但是有没有像 Java 中的“notifyAll”这样的函数?
【问题讨论】:
-
您要发送
info消息吗?同步?异步?保证交货?点对点?简单PubSub?如果您希望我们了解您的要求,请提供指向notifyAll文档的链接。 -
我正在尝试制作一个迷你游戏,我有一个召唤骷髅的死灵法师(每个骷髅都由一个生成的进程
skProcess = spawn(SkeletonKnight, :battle, [skeletonKnightHp, skID])和注册Process.register(skProcess, :"Skeleton_#{skID}")表示)。我还有一个龙进程,它有一个 龙息 技能,可以伤害所有骷髅,这个应该向所有其他骷髅发送消息,其中包含消息类型和伤害值(例如,发送消息到一个骨架:send(:Skeleton_1, {:info, damage}))。 龙息部分对我来说很有挑战性。