【发布时间】:2019-09-22 18:29:23
【问题描述】:
我有将 List[B] 分成两半并返回元组的函数。 我需要释放组合器以并行执行它们。
如果我做类似 fl.map(x => x.map(...)) 的事情,它不是平行的。
object Parallel {
implicit class ParList[A](fl: Future[List[A]]) {
private def split[B](l: List[B]): (List[B], List[B]) = l.splitAt(l.length / 2)
def paralFilter(f: A => Boolean): Future[List[A]] = ???
def paralFold(init: A)(f: (A, A) => A): Future[A] = ???
}
我知道我必须通过 split[B] 逐元素拆分列表并并行执行带有元素的组合器。我该怎么做?
【问题讨论】:
-
list.par.filter(f)