erreichen kann Ich habe eine Funktion, etwas über einen Timer in einer Schleife zu tun. Also dachte ich an akka scheduler, um das zu erreichen. Hier ist mein Beispielcode (innerhalb eines akka Schauspieler geschrieben):Wie man einen Akka Scheduler innerhalb einer Schleife für die zeitgerechte Ausgabe
class TestActor extends Actor {
override def receive: Receive = {
case num: Int => println(num)
case Tick => loopAndPrint
}
def loopAndPrint = {
val list = List(1, 100, 5, 23)
list.map { l =>
context.system.scheduler.scheduleOnce(Duration.create(30, TimeUnit.SECONDS), self, l)
}
}
}
Ich hatte erwartet, dass die println wird alle 30 Sekunden, bis das Ende der Liste aufgerufen werden. Aber es begann nach 30 Sekunden und endete damit, alle Listenelemente gleichzeitig zu drucken.
Wie kann ich dies erreichen, um die Listenelemente alle 30 Sekunden nach dem Start zu drucken?
Vielen Dank im Voraus.
Sie verwenden 'scheduleOnce' was bedeutet, dass jeder Scheduler nur ausgeführt werden ... einmal. – marcospereira
Und, nur eine Vermutung, aber ich denke, was Sie wirklich wollen, ist 'list.foreach', um jeden Scheduler zu konfigurieren. – marcospereira
@marcospereira ... Ja, ich möchte es einmal planen, und ich möchte zeitnahe Ausgabe, foreach kann das tun – Jet