scala中Future(Int)和FutureInt之间的区别
Posted
技术标签:
【中文标题】scala中Future(Int)和FutureInt之间的区别【英文标题】:Difference between Future(Int) and FutureInt in scalascala中Future(Int)和FutureInt之间的区别 【发布时间】:2021-10-27 04:01:16 【问题描述】:我是 Scala 和 Future
的新手。在如下场景中
val a = Future(10)
println(a)
val b = Future20
println(b)
输出是
Future(Success(10))
Future(<not completed>)
我不明白为什么使用花括号会改变输出。或者这两个 Future 的基本区别是什么。
【问题讨论】:
小提示:如果你想把已经计算好的值放到Future中,最好使用Future.successful(value)。这不会在线程池中安排额外的任务,Future 值将立即可用。 看看这里docs.scala-lang.org/style/control-structures.html 【参考方案1】:在这种情况下没有区别。问题是您在创建Future
后立即打印它,因此Future
是否完成取决于调度程序(和随机因素)。
我刚刚运行它并得到了
Future(<not completed>)
Future(<not completed>)
【讨论】:
以上是关于scala中Future(Int)和FutureInt之间的区别的主要内容,如果未能解决你的问题,请参考以下文章
Scala 中的嵌套过滤器要么在 Future[Try[Int]] 之上
为啥 Future(1) 在回复和编译程序之间返回不同的结果?