我试图找出一类Java应用程序,它们可以从使用Java 8中引入的parallelStream API中获益。
我知道在其他SO文章中描述的API的许多注意事项:
不过,API提供了利用现代多核机器的方法,只要已经使用了流API,代码就不会很有侵扰性,因此在低开发成本下没有麻烦的多线程。 因此,我仍然认为它在某些情况下是有用的。
我认为应用程序上下文应该是这样的:
我在github上搜索了一下,但是很难找到parallelStream使用的相关示例,这些示例不是练习或教科书中的示例(我欢迎链接到该API的Midsize+项目中的一些用法)。
那么,Java语言开发人员针对的是哪种应用程序呢?
您是否同意上述对应用程序上下文的要求以使API有用?
这看起来像是一个很好的解释案例在哪里和为什么。 https://computing.llnl.gov/tutorials/parallel comp/#为什么我个人在以用户为中心的web应用程序中没有发现有趣的情况。
fork/join框架是一个非常酷的低级API。 许多其他更高级的框架都非常成功地使用了它。 我用它来生成测试数据。 缓存引导。 数据处理等。。 在许多情况下,您在其他方面的性能得到了很好的提升,这只是不必要的开销。