如何创建具有启动和停止功能的计时器方法



我想每5秒执行一次方法。我还需要启动和停止

我对 Scala 很陌生,所以我对计时器对象没有足够的经验。我玩过它,但我对它没有足够的了解

val timer = new Timer()
val run = timer.schedule(method(messageSender, "hello"), 5.Seconds)
def method (messageSender: MessageSender, message: String): Unit ={
messageSender.sendMessage(message)
}
run.start()
run.stop()

我知道代码不正确。我只是写了我认为它会是什么样子。

run.start 将每 5 秒开始执行一次该方法,而 run.stop 将停止执行。任何人都对我如何实现这一目标有一个粗略的想法。

通过使用 akka actor,我的做法如下

import system.dispatcher
val system = ActorSystem("mySystem", config)
//1 second as initial delay
system.scheduler.schedule(1 seconds, 5 seconds) {
taskToCall()
}

您可以参考此 https://doc.akka.io/docs/akka/current/scheduler.html?language=scala

最新更新