package com.ydlclass.thread;
public class WindowSellTickets implements Runnable{
private static int count = 100;
String name;
public WindowSellTickets(String name) {
this.name = name;
}
@Override
public void run() {
while (count > 0 ){
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(name + "卖票一张,剩余:" + count-- + "张!");
//不加同步代码块的情况下,线程可能对一共享资源进行抢占,从而导致线程争抢的问题;下面是解决此问题的方法
// synchronized(WindowSellTickets.class) {
// System.out.println(name + "卖票一张,剩余:" + count-- + "张!");
// }
}
}
public static void main(String[] args) {
Thread t1 = new Thread(new WindowSellTickets("窗口1"));
Thread t2 = new Thread(new WindowSellTickets("窗口2"));
t1.start();
t2.start();
}
}