Java 并行数据处理

Java 并行数据处理

我们知道,Java中新的Stream(在Java 8中引入)接口可以让我们以声明的方式操作数据集合。
在本主题中,我们将发现Stream接口如何让我们有机会不费吹灰之力就能在数据集合上执行并行操作。它可以让我们以声明的方式将一个顺序流变成一个并行流

定义和制作成平行流:

一个平行流是将元素分割成多个流,并将它们分配到不同线程上的多个块中。因此,我们可以在多处理器的核心上划分一个给定操作的工作量,从而使CPU繁忙起来。我们可以通过附加关键字 “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);
    }
}
Java

输出:

Sum is 55
Java

在下一部分,我们将看到并行流、顺序流和迭代过程的性能差异,并对并行流中某些更专业的方法进行回顾。

参考资料:

https://docs.oracle.com/javase/tutorial/collections/streams/parallelism.html

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册