繁体   English   中英

斯卡拉 - 期货不会运行

[英]Scala - futures does not run

我正在尝试运行以下未来的基本代码

 future { println("ssss")} onSuccess{ case _ => println("succ")}

但是,当我运行main方法时,没有打印到控制台,系统几乎立即退出。 我正在使用隐式ExecutionContext。 任何提示?

这段代码:

  val f = future(Await.ready(Promise().future, d.timeLeft))

   f.onSuccess {
     case _ => println("hee")
   }

也立即退出....

期货在专用线程池上执行。 如果您的主程序不等待将来,它将立即退出,未来将无法执行。 你可以在这里做的是在你的主程序中使用Await阻止主线程,直到将来执行:

def main( args: Array[String] ) {
  val fut = future { println("ssss")}
  fut onSuccess{ case _ => println("succ")}
  Await.result( fut )
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM