Java 中的并行数据处理

java 8server side programmingprogramming

Java 8 中引入的"Stream"接口用于以声明式方式操作数据集合。Stream 接口还可用于并行执行进程,而不会使进程过于复杂。这意味着,可以声明式地将顺序流转换为并行流。

并行流可以定义为将数据集合元素拆分为多个流的流。每个流都被分配给单独的块,并与不同的线程关联。借助多处理器,工作被划分到多个线程之间。这样,CPU 资源得到高效利用,并保持繁忙。可以通过在顺序流前面添加关键字"parallel"将其转换为并行流。以下是示例 −

示例

import java.util.stream.*;
import java.util.Collections.*;
public class Demo {
   static long sum_in_parallel(long n) {
      return Stream.iterate(1L, i->i + 1).limit(n).parallel().reduce(0L, Long::sum);
   }
   public static void main(String[] args) {
      long c = sum_in_parallel(23);
      System.out.println("并行计算后的总和为 " + c);
   }
}

输出

并行计算后的总和为 276

名为 Demo 的类包含一个名为 ‘sum_in_parallel’ 的函数,该函数接受一个长整型作为参数,并返回可并行迭代的流。在主函数中,通过传递一个值来调用 ‘sum_in_parallel’,并将此输出打印在屏幕上。


相关文章