gpt4 book ai didi

scala - scala中是否有快速并发语法糖的实现?例如。 map 减少

转载 作者:行者123 更新时间:2023-12-04 22:25:39 24 4
gpt4 key购买 nike

与 Actor 一起传递信息很棒。但我想要更简单的代码。

示例(伪代码)

val splicedList:List[List[Int]]=biglist.partition(100)
val sum:Int=ActorPool.numberOfActors(5).getAllResults(splicedList,foldLeft(_+_))

spliceIntoParts 将一个大列表变成 100 个小列表
numberofactors 部分,创建一个使用 5 个 Actor 的池,并在作业完成后接收新作业
getallresults 使用列表中的方法。所有这些都是通过在后台传递的消息完成的。其中可能是 getFirstResult,计算第一个结果,并停止所有其他线程(如破解密码)

最佳答案

使用将包含在 2.8.1 中的 Scala Parallel 集合,您将能够执行以下操作:

val spliced = myList.par // obtain a parallel version of your collection (all operations are parallel)
spliced.map(process _) // maps each entry into a corresponding entry using `process`
spliced.find(check _) // searches the collection until it finds an element for which
// `check` returns true, at which point the search stops, and the element is returned

并且代码将自动并行完成。在常规集合库中找到的其他方法也正在并行化。

目前,2.8.RC2 非常接近(本周或下周),我猜 2.8 决赛将在几周后到来。如果您使用 2.8.1 nightlies,您将能够尝试并行集合。

关于scala - scala中是否有快速并发语法糖的实现?例如。 map 减少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2729116/

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