gpt4 book ai didi

concurrency - 如何在Clojure中并行化分而治之算法

转载 作者:行者123 更新时间:2023-12-03 09:44:36 26 4
gpt4 key购买 nike

首先说我有一个问题,计算10亿位数的Pi,计算大量的阶乘,或对大型列表执行mergesort。我想将问题分为较小的任务,并发执行每个任务,并合并结果。首先,这种并发的名称是什么,您将如何在Clojure中使用它?

最佳答案

在当前的Clojure 1.4中,您可以使用 pmap pcalls pvalues 完成此操作。 pmap函数是map的并行版本,而pcallspvalues确实没有类似的非并行版本(尽管我认为listpvalues的“非并行版本”)。

但是,对于您描述的问题,听起来像您想使用reduce的并行版本。有一个来自Clojure 1.2( see here)的旧版本,我从未使用过,所以我无法谈论其实用性。

Clojure 1.5将附带这个新的“reducers”库,Rich Hickey在博客中介绍了here。在这里,fold似乎是reduce的并行版本。

关于concurrency - 如何在Clojure中并行化分而治之算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12218852/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com