gpt4 book ai didi

concurrency - 与withPool并行

转载 作者:行者123 更新时间:2023-12-02 21:52:49 26 4
gpt4 key购买 nike

我找到了一个关于如何使用withPool的示例。它说我只需要将单词 Parallel 添加到 Groovy 的方法中,例如 collect、find、each,将其放入 withPool 中并执行代码并行。

import static groovyx.gpars.GParsPool.withPool

list = 1..1000000

withPool{
squares = list.collectParallel { it * it}
}
println squares

有没有机会检查它是否真的并行?
我尝试使用相同的代码但按顺序进行基准测试
并行方式要慢得多。

最佳答案

不确定你所说的“但是顺序和并行方式要慢得多”...

这将并行运行,但对于这个简单的示例,将作业发送给其他处理器和处理结果排序的额外成本可能最终会花费比仅乘以一些数字更长的时间

对于显示其工作原理的简单示例,您可以执行以下操作:

import static groovyx.gpars.GParsPool.withPool

list = [ 2, 2, 2, 2, 2 ]

withPool{
result = list.collectParallel {
Thread.sleep( it * 1000 )
it
}
}
println result

因此结果应该是 [2,2,2,2,2],但是 collectParallel 应该在您期望的 10 秒内完成串行收集版本

显然这取决于您拥有多个核心;-)

关于concurrency - 与withPool并行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14428337/

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