自从有了jdk8,我的foreach循环从原来的
for(String s:list){
System.out.println(s);
}
潇洒的变成了
list.stream.foreach((s) ->
{
System.out.println(s);
});
或者更风流的
list.forEach(System.out::println);
那么问题来了,java8是可以支持并行循环的,也就是说在循环体内多线程执行。
经笔者测试,平常使用
list.foreach(() ->{
});
和
list.stream.foreach(() ->{
});时是单线程的,这么写:
list.parallelStream().forEach((s) ->{ System.out.println("lambda表达式的线程;;;"+Thread.currentThread().getId()); });
时候,才会是多线程并行处理的哦。
不信你看: