建立三个线程,A线程打印10次A,B线程打印10次B,C线程打印10次C,要求线程同时运行,交替打印10次ABC。

/*
 * 建立三个线程,A线程打印10次A,B线程打印10次B,C线程打印10次C,要求线程同时运行,交替打印10次ABC。
 */
class Demo implements Runnable {

	int count = 10;
	String name;
	Object pre;
	Object self;

	public Demo(String name, Object pre, Object self) {
		super();
		this.name = name;
		this.pre = pre;
		this.self = self;
	}

	@Override
	public void run() {
		while (count > 0) {
			synchronized (pre) {
				synchronized (self) {
					System.out.print(name);
					count--;
					self.notify();
				}
				try {
					pre.wait();
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
			}
		}
	}
}

public class Test3 {
	public static void main(String[] args) throws InterruptedException {
		Object a = new Object();
		Object b = new Object();
		Object c = new Object();
		Demo d1 = new Demo("A", c, a);
		Demo d2 = new Demo("B", a, b);
		Demo d3 = new Demo("C", b, c);
		new Thread(d1).start();
		Thread.sleep(100);
		new Thread(d2).start();
		Thread.sleep(100);
		new Thread(d3).start();
		Thread.sleep(100);
	}
}

 

全部评论

相关推荐

07-03 11:02
中山大学 C++
字节刚oc,但距离九月秋招很近了有两段互联网实习,非腾讯字节。不敢赌转正,现在在纠结去还是不去如果实习俩月离职会有什么后果吗
阿城我会做到的:不去后悔一辈子,能否转正取决于ld的态度,只要他不卡,答辩就是走流程,个人觉得可以冲一把
投递字节跳动等公司9个岗位
点赞 评论 收藏
分享
白火同学:大二有这水平很牛了,可以适当对关键信息加粗一点,比如关键技术、性能指标之类的。
点赞 评论 收藏
分享
能干的三文鱼刷了10...:公司可能有弄嵌入式需要会画pcb的需求,而且pcb能快速直观看出一个人某方面的实力。看看是否有面试资格。问你问题也能ai出来,pcb这东西能作假概率不高
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务