Groovy 使用gpar的Fork/Join示例
我在这里找到了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()等待 如果您比较熟悉,您可能会发现在同一页面中
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