我们知道新的 Java中的流 (在Java8中引入)接口允许我们以声明的方式操作数据集合。 在本主题中,我们将了解流接口如何为我们提供在数据集合上并行执行操作的机会,而无需付出太多努力。它允许我们声明性地将顺序流转换为并行流
null
定义并形成平行流: 并行流是将元素拆分为多个流,并在不同线程上将其分配为多个块的流。因此,我们可以在多处理器的核心上分配给定操作的工作负载,从而使CPU繁忙。我们可以通过附加关键字“parallel”将流转换为parallel。
下面的例子告诉我们如何将一个流转换成一个并行流!
// A Simple Java program to demonstrate parallel // processing. import java.util.stream.*; import java.util.Collections.*; public class JavaApplication1 { static long sumparallel( long n) { // Stream converted to parallel stream return Stream.iterate(1L, i->i + 1 ). limit(n).parallel(). reduce(0L, Long::sum); } // Driver code public static void main(String[] args) { long c = sumparallel( 10 ); System.out.println( "Sum is " + c); } } |
输出:
Sum is 55
在下一部分中,我们将看到并行流、顺序流和迭代过程的性能之间的差异,并回顾并行流中某些更专门的方法。
参考: https://docs.oracle.com/javase/tutorial/collections/streams/parallelism.html
本文由 凯沙夫786 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。
如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END