並行: 在同一個時刻,多核處理多個任務。把工做拆分,同時在多核CPU上執行java
static void Main(string[] args) { List<int> array = new List<int> { 1, 2, 3, 4, 5 }; Parallel.ForEach(array, Console.WriteLine); Console.ReadKey(); }
public static void main(String[] args) { List<Integer> array = new ArrayList<Integer>() {{ add(1); add(2); add(3); add(4); add(5); }}; array.stream().forEach(u -> System.out.print(u + ","));//按照正常順序輸出 1,2,3,4,5, System.out.println("----------parallel執行分割線------------"); array.parallelStream().forEach(u -> System.out.print(u + ","));//隨機輸出 3,5,4,1,2, }
輸入數據的大小會影響並行化處理,當只有足夠大、每一個數據處理管道花費的時間足夠多時,並行化纔有意義編程
通常都是基於集合進行並行化數據結構
處理基本類型比處理裝箱類型要快併發
只有在多核的機器上使用纔有意義,而且是運行時可以使用的多少核函數式編程
原先處理耗時較長,使用並行化纔有意義函數
對我而言,Java 8的函數式編程相似C#提供的Lambda。code