理想的 trySplit 方法有效地(无需遍历)将其元素精确地一分为二,从而实现平衡的并行计算。许多偏离这一理想的方法仍然非常有效;例如,仅对近似平衡的树进行近似分裂,或者对于叶子节点可能包含一个或两个元素的树,未能进一步分裂这些节点。然而,平衡的大偏差和/或过度低效的 trySplit 机制通常会导致并行性能不佳。以及带有注释的方法结构 public Spliterator<T> trySplit() { int lo = origin; // divide range in half int mid = ((lo + fence) >>> 1) & ~1; // force midpoint to be even if (lo < mid) { // split out left half origin = mid; // reset this Spliterator's origin return new TaggedArraySpliterator<>(array, lo, mid); } else // too small to split return null; }更多信息请阅读https://docs.oracle.com/javase/8/docs/api/java/util/Spliterator.html