我想知道如何在 clojure 中创建 n 个线程。有一个名为“estimate-value”的函数,它可以估计一个值并返回结果。现在我想使用 pmap 或 pcalls 创建 n 个线程,每个线程可以计算一个估计值,然后组合 n 个结果并返回最终估计值。我的代码是
(defn compute-value [n]
(/ (apply + (pmap (estimate-value) (range n))) n))
我确信函数估计值是正确的。但是当我运行并得到一个错误时:
user=> (compute-value 3)
ClassCastException java.lang.Double cannot be cast to clojure.lang.IFn clojure.core/pmap/fn--6744/fn--6745 (core.clj:6729)
如何修复此计算值函数?谢谢!