【发布时间】:2018-11-08 19:28:25
【问题描述】:
我是一个试图理解 Futures 的 Scala 新手。我在 REPL 中输入了以下内容:
scala> import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.ExecutionContext.Implicits.global
scala> import scala.concurrent.Future
import scala.concurrent.Future
scala> val m = Future(println("Message"))
Message
m: scala.concurrent.Future[Unit] = Future(<not completed>)
scala> Future(println("Another Message"))
res4: scala.concurrent.Future[Unit] = Future(<not completed>)
Another Message
在第一种情况下,我将 Future 计算分配给变量 m。我还没有打电话给m,但Future 实际上会产生“消息”字符串输出。但我也收到了Future(<not completed>) 消息。这里发生了什么?未来是否已经完成?字符串输出告诉我它有。有人可以帮我解决这个问题吗?
【问题讨论】:
标签: scala