Scala 保持主线程运行,同时等待&x27;没有完成

Scala 保持主线程运行,同时等待&x27;没有完成,scala,Scala,我有以下代码: 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) } 我希望主线程在最后一个a

我有以下代码:

  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
产生了一个
未来
,你也需要等待它

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)
}