我正在阅读Richard Warburton撰写的Java 8书籍。这是我不太了解的报价:
假设流框架将我们的工作分解为
在四核计算机上并行运行:
我们的数据源被分解为四个大块的元素。
我们在每个线程上并行执行叶计算工作[...]
叶子计算工作是什么?这是什么意思?
最佳答案
作者使用树叶类比来解释并行流中的工作细分。
将需要完成的整个工作视为一棵树。树干代表整个工作;每个分支代表工作的某些部分,可以进一步细分;每片叶子代表未进一步细分的工作量。
考虑将8个元素组成的数组进行合并排序。排序元素0..7是主干。它具有两个分支,分别用于分类范围0..3和4..7。反过来,每个分支都有两个叶子用于对两个元素的范围进行排序。
由于对两个元素范围进行排序的工作没有进一步细分,因此将其视为叶子。