java开发实战经典(第二版)P283 9-3

9.3   实现一个竞拍抢答程序:要求设置3个抢答者(3个线程),而后同时发出抢答指令,并为抢答成功者给出成功提示,为未抢答成功者给出失败提示。

package book;

class MyThread implements Runnable {
	private boolean flag = true;
	public void run() {
		this.answer();
	}

	public synchronized void answer() {
		while (flag) {
			System.out.println(Thread.currentThread().getName() + "success!!");
			flag = false;
			return;
		}
		System.out.println(Thread.currentThread().getName() + "fail!!");
		return;
	}
}

public class JiOu {
	public static void main(String args[]) {
		MyThread mt = new MyThread();
		Thread mt1 = new Thread(mt);
		Thread mt2 = new Thread(mt);
		Thread mt3 = new Thread(mt);
		mt1.start();
		mt2.start();
		mt3.start();
	}
}

运行结果:(其中之一)

Thread-1success!!
Thread-2fail!!
Thread-0fail!!

猜你喜欢

转载自blog.csdn.net/Javaxiaobaismc/article/details/81349794
9-3
今日推荐