Groovy 使用gpar的Fork/Join示例

Groovy 使用gpar的Fork/Join示例,groovy,fork-join,gpars,Groovy,Fork Join,Gpars,我在这里找到了GPAR中fork/join的一个示例: 它可以工作并返回正确数量的文件,但不幸的是,我不理解这一行: return count + (childrenResults.sum(0)) 如何准确计算count和childrenResult? 为什么将0作为参数传递给sum()?我对GPAR不太熟悉,但您提供的链接说它是一种算法,并澄清了稍后隐含的内容,解释了forkOffChild()不等待,而是getChildrenResults()等待 如果您比较熟悉,您可能会发现在同一页面中

我在这里找到了GPAR中fork/join的一个示例:

它可以工作并返回正确数量的文件,但不幸的是,我不理解这一行:

return count + (childrenResults.sum(0))
如何准确计算
count
childrenResult


为什么将
0
作为参数传递给
sum()

我对GPAR不太熟悉,但您提供的链接说它是一种算法,并澄清了稍后隐含的内容,解释了
forkOffChild()
不等待,而是
getChildrenResults()
等待

如果您比较熟悉,您可能会发现在同一页面中提供的替代方法更容易理解,即使用更Java风格

childrenResults
导致调用该方法,这是“Fork/join”中的“join”,它等待所有子级完成,然后返回一个包含这些子级结果的列表(或重新引发子级可能引发的任何异常)

0
只是总和的初始值。如果
childrenResult
为空,则将其相加为
count

groovy:000> [].sum(1)
===> 1
groovy:000> [1].sum(1)
===> 2

非常有用的答案!非常感谢你!
groovy:000> [].sum(1)
===> 1
groovy:000> [1].sum(1)
===> 2