如何在Scala中的语句之间等待N秒?

时间:2016-02-20 03:27:35

标签: scala sleep

我有两个这样的陈述:

val a = 1
val b = 2

在两个语句之间,我希望像bash sleep命令一样暂停N秒。

2 个答案:

答案 0 :(得分:34)

您可以尝试:

val a = 1 
Thread.sleep(1000) // wait for 1000 millisecond
val b = 2

您可以将1000更改为其他值以满足您的需求。

答案 1 :(得分:6)

假设:

package object wrap {
  import java.time._

  def delayed[A](a: => A): A = {
    Console println Instant.now
    Thread.sleep(1000L)
    val x = a
    Console println Instant.now
    x
  }
}

你可以:

Welcome to Scala 2.12.0-M3 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_60).
Type in expressions for evaluation. Or try :help.

scala> $intp.setExecutionWrapper("wrap.delayed")

scala> { println("running"); 42 }
2016-02-20T06:28:17.372Z
running
2016-02-20T06:28:18.388Z
res1: Int = 42

scala> :quit