在当前的Clojure 1.4中,您可以使用pmap
,pcalls
或pvalues
完成此操作。 pmap
函数是map
的并行版本,而pcalls
和pvalues
并不具有类似的非并行版本(尽管我认为list
是pvalues
)的“非并行版本”。
但是,对于您描述的问题,听起来您可能希望使用reduce
的并行版本。来自Clojure 1.2( see here)的旧版本,我从未使用过,所以我无法谈论它的实用性。
Clojure 1.5将成为这个新的“reducers”库,Rich Hickey博客关于here。在此,fold
似乎是reduce
的并行版本。