JAVA 并发的Stream流

并发的Stream流

流当中的元素如果特别多,那么只有一个“工人”在逐一处理,肯定比较慢
如果对流当中的元素,使用多个“工人”同时处理,这就是“并发”。

如何才能获取“并发流”(支持并发操作的流):

.parallelStream()

如果已经获取了一个普通的流,那么再调用一下.parallel()方法也会变成“并发流”:

.stream().parallel()

注意事项:

  • 1.使用“并发流”操作时多个“工人”都在抢元素。
  • 2.到底有多少个“工人”在抢、在同时操作呢?不用管JDK自己处理。
  • 3.正确使用就不会出现,多个“工人”抢到同一个元素的情况。

总结:

  • 1.直接获取并发流:.parallelStream()
  • 2.已结获取普通流,然后升级成为并发流:.stream().parallel
public class StreamParallel {
	public static void main(String[] args) {
		ArrayList<String> list = new ArrayList<>();
		for (int i = 0; i <= 100; i++) {
			list.add("Hello - " + i);
		}
		//这是只有一个流在做打印输出的操作
		list.stream().forEach(System.out::println);
		
		//获取一个并发流
		list.parallelStream().forEach(System.out::println);
		
		//普通流调用变成并发流
		list.stream().parallel().forEach(System.out::println);
	}
}
发布了98 篇原创文章 · 获赞 8 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_43472877/article/details/104171454