package Thread;
public class SellTicket implements Runnable {
private int tickets = 100;
private Object obj = new Object();
@Override
public void run() {
while (true) {
synchronized (obj) {
if (tickets > 0) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
tickets--;
System.out.println("请到" + Thread.currentThread().getName() + "进行购买!" + "还剩" + tickets + "张!!!");
} /*else {
System.out.println("今日票已售完!");
System.exit(0);
}*/
}
}
}
}
package Thread;
public class SellTicketDemo {
public static void main(String[] args) {
SellTicket ticket = new SellTicket();
Thread th1 = new Thread(ticket,"A窗口");
Thread th2 = new Thread(ticket,"B窗口");
Thread th3 = new Thread(ticket,"C窗口");
th1.start();
th2.start();
th3.start();
}
}