我试图确定一类可以从使用 Java 8 中引入的 parallelStream API 中受益的 Java 应用程序。
我知道其他 SO 帖子中描述的 API 的许多警告:
尽管如此,如果 Stream API 已经被使用,API 可以利用现代多核机器的代码不是很具有侵入性,因此没有麻烦的多线程开发成本低。因此,我仍然认为它在某些情况下很有用。
我认为应用程序上下文因此必须是这样的:
我在github上搜索过,但很难找到不是练习或教科书示例的parallelStream用法的相关示例(我欢迎链接到API的中型+项目中的一些用法)。
那么,Java 语言开发人员使用此 API 的目标是哪种应用程序?
您是否同意上述对 API 有用的应用程序上下文的要求?
最佳答案
这看起来像是对地点和原因的案例的一个很好的解释。 https://computing.llnl.gov/tutorials/parallel_comp/#WhyUse
我个人认为在以用户为中心的 Web 应用程序中没有有趣的案例。
fork/join 框架是一个非常酷的低级 API。许多其他更高级别的框架在幕后非常成功地使用它。我用它来生成测试数据。缓存引导。数据处理等...
在许多情况下,您会在其他情况下获得非常好的性能提升,这只是不必要的开销。
关于java - Java 中的 parallelStream 在哪些应用领域有用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62716832/