2013-05-02 65 views

回答

3

“Akka的代理商受到Clojure代理商的启发。”这是Akka代理文档中的第一行,并希望它清除代理问题的一部分。就期货而言,它们在概念上是相同的(即在单独的线索上调用操作)。基础实现基于java.util.concurrent,因此都使用相同的基础架构。

斯卡拉部分: 的重要组成部分,如何组合的字发挥作用(包括代理和期货)。如果您访问akka文档,您会发现您可以在Akka期货上使用map,filter等高位函数,即对未来的map操作会返回另一个未来(以及类似的filter)。这使您可以轻松撰写/链接期货,并在最终的未来等待最终价值。现在,所有这些都是可能的,因为理解等都是基于Scala(monadic)API,它基本上允许任何新类型提供这些函数的特定实现。

Clojure的部分: 现在对事情Clojure的一面,你知道mapfilter等都是在集合上工作只是正常功能,即它们的东西的工作,才能移动,因此是从单子不同的概念scala的API。因此,在Clojure中,您将使用不同的方式来创作未来,毕竟Clojure(或一般的Lisp)允许以许多方式进行组合。