【问题标题】:Difference between Future(Int) and Future{Int} in scalascala中Future(Int)和Future{Int}之间的区别
【发布时间】:2021-10-27 04:01:16
【问题描述】:

我是 Scala 和 Future 的新手。在如下场景中

val a = Future(10)
println(a)
val b = Future{20}
println(b)

输出是

 Future(Success(10))
 Future(<not completed>)

我不明白为什么使用花括号会改变输出。或者这两个 Future 的基本区别是什么。

【问题讨论】:

  • 小提示:如果你想把已经计算好的值放到Future中,最好使用Future.successful(value)。这不会在线程池中安排额外的任务,Future 值将立即可用。

标签: scala future


【解决方案1】:

在这种情况下没有区别。问题是您在创建Future 后立即打印它,因此Future 是否完成取决于调度程序(和随机因素)。

我刚刚运行它并得到了

Future(<not completed>)
Future(<not completed>)

【讨论】:

    猜你喜欢
    • 2021-09-05
    • 1970-01-01
    • 2015-11-03
    • 2019-01-13
    • 1970-01-01
    • 1970-01-01
    • 2018-02-22
    • 1970-01-01
    • 2014-09-29
    相关资源
    最近更新 更多