如何计算Scala中的Futures进行评估

时间:2014-05-21 06:25:39

标签: scala jvm future

我在想,Future是如何评估的?我的意思是如果我们有命令式样式编程,我们执行从A点到B点的程序,在它们之间我们创建一个Future,当完成后,将结果打印到控制台。我们的程序如何让这个退一步在流程中打印它?

1 个答案:

答案 0 :(得分:1)

期货在ExecutionContext上运行,ExecutionContext本质上是一个线程池。在未来创建Future块或使用各种组合和回调方法(map,foreach,onComplete等)时,会有一个隐式执行上下文传递到逻辑将被执行的位置。

在命令式程序中,这与将打印到控制台上的Runnable推送到线程池上大致相同。

这里有一个很好的介绍:http://docs.scala-lang.org/overviews/core/futures.html

关于期货最有用的事情并不是强制性地使用它们,而是使用map和flatMap来构建未来的链条。