scala – 可以并行执行reduceLeft吗?
发布时间:2020-12-16 19:10:08 所属栏目:安全 来源:网络整理
导读:我刚开始学习 Scala,所以请耐心等待:-) 我有一个关于reduceLeft行为的问题.这是一个例子: List(1,2,3,4,5) reduceLeft (_ + _) 我想知道计算是否可以同时进行,例??如: 第一回合: 过程1计算:1 2 过程2计算:4 5 第二轮: 过程1计算:3 3 第三轮: 过程1计
我刚开始学习
Scala,所以请耐心等待:-)
我有一个关于reduceLeft行为的问题.这是一个例子: List(1,2,3,4,5) reduceLeft (_ + _) 我想知道计算是否可以同时进行,例??如: 第一回合: >过程1计算:1 2 第二轮: >过程1计算:3 3 第三轮: >过程1计算:6 9 如果我只使用reduce函数而不是reduceLeft,那至少就是我期望发生的事情.或者reduceLeft真的只做一次减少吗? ((((1 + 2) + 3) + 4) + 5) 这基本上意味着它不能并行执行,如果可能的话,应该总是倾向于减少reduceLeft / Right? 解决方法
答案是肯定的,这很简单:
List(1,5).par.reduce (_ + _) par方法将列表转换为并行集合.当您在此并行集合上调用reduce时,它将并行执行. 见the parallel collection documentation (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |