gpt4 book ai didi

scala - Scala中的并发 map /foreach

转载 作者:行者123 更新时间:2023-12-03 14:31:47 25 4
gpt4 key购买 nike

我有一个迭代vals: Iterable[T]和一个长时间运行的函数,没有任何相关的副作用:f: (T => Unit)。现在,它以明显的方式应用于vals

vals.foreach(f)


我希望对 f的调用可以同时进行(在合理范围内)。 Scala基础库中的某个地方有明显的功能吗?就像是:

Concurrent.foreach(8 /* Number of threads. */)(vals, f)


尽管 f的运行时间相当长,但它足够短,以至于我不想为每个调用都调用线程而产生开销,因此我正在寻找基于线程池的东西。

最佳答案

我喜欢Futures答案。但是,尽管它将并发执行,但也会异步返回,这可能不是您想要的。正确的方法如下:

import scala.actors.Futures._

vals map { x => future { f(x) } } foreach { _() }

关于scala - Scala中的并发 map /foreach,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1751953/

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