public class ZhiDao {
public static void main(String[] args) {
new Thread(new Ticket(), "线程一").start();
new Thread(new Ticket(), "线程二").start();
new Thread(new Ticket(), "线程三").start();
new Thread(new Ticket(), "线程四").start();
}
}
class Ticket implements Runnable {
private static int ticketNum = 20;
Object lock = new Object();
@Override
public void run() {
// TODO Auto-generated method stub
while (true) {
synchronized (lock) {
try {
Thread.sleep(2000);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
if (ticketNum > 0) {
System.out.println(Thread.currentThread().getName() + "卖出一张票,当前剩余票为" + (--ticketNum) + "张");
} else {
System.out.println("票已售完!");
}
}
}
}
}