并行: 在同一个时刻,多核处理多个任务。把工做拆分,同时在多核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