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!!