Java 中的並行資料處理
Java 8 中引入的 Java 中的“流”介面用於以宣告的方式操作資料集合。流介面還可用於並行執行程序,而不會使程序過於複雜。這意味著,可以將順序流宣告性地轉換為並行流。
並行流可以定義為一個將資料集合元素拆分為多個流的流。每個流都分配到一個單獨的塊,並且與一個不同的執行緒關聯。在多處理器的幫助下,工作在多個執行緒之間進行劃分。這樣,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("Sum, when computed in parallel is " + c);
}
}輸出
Sum, when computed in parallel is 276
一個名為 Demo 的類包含一個名為“sum_in_parallel”的函式,該函式採用一個長整型作為引數,並返回一個可以並行迭代的流。在主函式中,透過傳遞值來呼叫“sum_in_parallel”,並在螢幕上列印此輸出。
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP