首先,通过 规格
的镜头。流是并行还是顺序是流状态的一部分。流创建方法应指定它们是创建顺序流还是并行流(在JDK中大多数都是这样做的),但是不必这么说。如果您的信息流来源没有说,请不要假设。如果有人向您传递信息流,请不要假设。
允许并行流自行决定是否退回到顺序(由于顺序实现 是 并行实现,因此可能是一个不完善的实现);相反是不正确的。
现在,通过 实施
的视角。在Collections和其他JDK类的流创建方法中,我们遵循“除非用户明确要求并行性,否则创建顺序流”的原则。(但是,其他库会做出不同的选择。如果它们有礼貌,它们会指定其行为。)
流并行性和分离器之间的关系仅是一个方向。拆分器可以拒绝拆分-有效地拒绝任何并行性-但它不能 要求
客户端拆分它。因此,不合作的分离器可能会破坏并行性,但不能确定并行度。



