多线程(出售火车票)
public class Demo3 implements Runnable{ static Object obj = new Object(); static int count = 100; @Override public void run() { try { Thread.sleep(3000); while (true){ synchronized (obj) { if (count > 0) { System.out.println(Thread.currentThread().getName() + " " + count--); } else { System.out.println("卖完了"); System.exit(0); } } } } catch (InterruptedException e) { e.printStackTrace(); } } public static void main(String[] args) { Demo3 d1 = new Demo3(); Thread t1 = new Thread(d1); t1.setName("窗口一"); t1.start(); Demo3 d2 = new Demo3(); Thread t2 = new Thread(d2); t2.setName("窗口二"); t2.start(); Demo3 d3 = new Demo3(); Thread t3 = new Thread(d3); t3.setName("窗口三"); t3.start(); } }