我有以下代码:
val f1: Future[Unit] = Future {
Thread sleep 5
println(1)
}
val f2: Future[Unit] = Future {
Thread sleep 10000
println(2)
}
def main(args: Array[String]): Unit = async {
await(f1)
await(f2)
}
我希望主线程在最后一个await
方法终止后终止。
我怎样才能做到这一点?
好吧,由于async/await
产生了Future
,因此您也需要等待它。
import scala.concurrent.Await
import scala.concurrent.duration._
def main(args: Array[String]): Unit = {
val future = async {
await(f1)
await(f2)
}
Await.result(future, Duration.Inf)
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句