线程练习||启动3个线程打印递增的数字, 线程1先打印1,2,3,4,5, 然后是线程2打印6,7,8,9,10, 然后是线程3打印11,12,13,14,15. 接着再由线程1打印16,17,18,

本文介绍了如何启动三个线程,按照特定顺序打印递增的数字。线程1先打印1-5,接着线程2打印6-10,然后线程3打印11-15,如此循环直至打印到75。通过示例代码展示了具体的实现过程和输出结果。
摘要由CSDN通过智能技术生成

题目描述:

启动3个线程打印递增的数字, 线程1先打印1,2,3,4,5, 然后是线程2打印6,7,8,9,10, 然后是线程3打印11,12,13,14,15. 接着再由线程1打印16,17,18,19,20….以此类推, 直到打印到75. 

代码实现:

class MyThread extends Thread {
	private String name;
	private String p1;
	private String p2;
	private int count = 0;

	public MyThread(String name, String p1, String p2, int count) {
		this.name = name;
		this.p1 = p1;
		this.p2 = p2;
		this.count = count;
	}

	@Override
	public void run() {
		while (count <= 75) {//总线程结束的条件
			synchronized (p1) {
				synchronized (p2) {
					for (int i = 0; i < 5; i++) {// 循环5次,每个线程打印五个数
						count += 1;
						if (count > 75)
							break;
						System.out.println(name + "---" + count);
					}
					count += 10;
					p2.notify();
				}
				try {
					p1.wait();
				} catch (InterruptedException e) {
					e.printStackTrace();
				}

			}

		}

	}

}

pu
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值