62,625
社区成员
发帖
与我相关
我的任务
分享class Test implements Runnable {
private static int ticket = 100;
private boolean flag = true;
Object obj = new Object();
public void setFlag(boolean flag) {
this.flag = flag;
}
public void Test() {
}
public void run() {
if (flag) {
while (true) {
synchronized (obj) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {
}
if (ticket > 0) {
System.out.println(Thread.currentThread().getName() + "....." + ticket--);
}
}
}
} else while (true) {
show();}
}
public synchronized void show() {
synchronized (obj) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {
}
if (ticket > 0) {
System.out.println(Thread.currentThread().getName() + "....." + ticket--);
}
}
}
}
public class Ticket {
public static void main(String[] args) {
Test T = new Test();
Thread t1 = new Thread(T);
Thread t2 = new Thread(T);
t1.start();
try {
Thread.sleep(100);
} catch (InterruptedException e) {
}
T.setFlag(false);
t2.start();
}
}