我最近仔细研究了 Java 8 Stream API 并注意到有两种方法;流()和并行流()。
我了解每种方法的用途,但无法理解需要两种方法才能达到目的。通过公开两种方法,Java 语言设计者强制在编译时选择并行化(或不并行化)。
显然,使用参数/开关可以帮助将选择推迟到运行时使用一些运行时参数/配置和 DI,这在许多情况下都是可取的。然而,设计师一定有令人信服的理由不走那条路。那些原因是什么?这将有助于了解流是如何在幕后工作的。
开满天机
相关分类