有没有可能在Akka演员内部设置一个不使用事件的计时器?(键入Akka)

sdnqo3pr  于 2022-11-06  发布在  其他
关注(0)|答案(1)|浏览(119)

文档对在演员内部设置计时器并不太清楚。这是我能找到的最接近的信息:调度发送给自己的消息。然而,我们是否可以在actor内部创建一个内部计时器,例如每5秒触发一次actor的方法(例如检查actor的状态并对其变化做出React),而不接收和发送事件,这一点并不清楚。
如果可以设置这样的计时器,它的可靠性如何?(例如,如果它可以失败,而演员可以继续运作,否则)
此外,如果可以设置这样的计时器,那么是否可以通过触发的方法或另一个参与者的方法停止和(重新)启动计时器?

np8igboo

np8igboo1#

如果由
例如,每5秒触发一个参与者的方法(例如检查参与者的状态并对其变化做出React),而不接收和发送事件
您的意思是“在执行元中调度一个方法,使其在不向执行元发送消息的情况下被调用”,那么答案是否定的。
参与者中的方法应该只在直接响应发送给参与者的消息时执行(或者在参与者的生成过程中执行,但可以证明这实际上是一条消息)。否则,就等于放弃(至少)参与者模型所能做出的几乎所有保证。

相关问题