并发编程:并发测试:监测Stream

目录

Stream

一、主程序


Stream

  • peek():该方法是个中间操作,是"懒执行"的。peek()方法不会对count()结果产生影响,故以count()作结果操作时,peek()方法的内容不会被执行。
  • forEach():这个方法是输出元素的内容,受peek()方法影响,故peek()方法的内容会被输出。

一、主程序

package xyz.jangle.thread.test.n9_6.teststream;

import java.util.Random;
import java.util.concurrent.atomic.AtomicLong;

/**
 * 9.6、监测流
 * 
 * @author jangle
 * @email jangle@jangle.xyz
 * @time 2020年10月25日 上午11:43:25
 * 
 */
public class M {

	public static void main(String[] args) {

		var counter = new AtomicLong(0);
		var random = new Random();
		// 此处的peek不会执行。因为count的结果不受peek影响。(peek是懒执行的)
		var streamCounter = random.doubles(1000).parallel()
				.peek(n -> System.out.println(counter.incrementAndGet() + "-" + n)).count();
		System.out.println("Counter:" + counter.get());
		System.out.println("Stream Counter:" + streamCounter);
		counter.set(0);
		random.doubles(1000).parallel().peek(n -> System.out.println("Peek: " + counter.incrementAndGet() + "-" + n))
				.forEach(n -> System.out.println("ForEach: " + n));
		System.out.println("Counter: " + counter.get());

	}

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值