2013-05-02 62 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)允許以許多方式進行組合。