1. ホーム
  2. scala

[解決済み] Scalaで定期的に関数を実行する

2022-02-14 14:04:51

質問

任意の関数を毎回呼び出したい n 秒間です。基本的に私は次のものと同じものが欲しいのです SetInterval をJavascriptから取得しました。Scalaでこれを実現するにはどうしたらいいですか?

どのように解決するのですか?

の標準的なものを使用することができます。 java.util.concurrent :

import java.util.concurrent._

val ex = new ScheduledThreadPoolExecutor(1)
val task = new Runnable { 
  def run() = println("Beep!") 
}
val f = ex.scheduleAtFixedRate(task, 1, 1, TimeUnit.SECONDS)
f.cancel(false)

または java.util.Timer :

val t = new java.util.Timer()
val task = new java.util.TimerTask {
  def run() = println("Beep!") 
}
t.schedule(task, 1000L, 1000L)
task.cancel()