Java多线程四个窗口共同销售1000张票(已经解决线程安全问题)
public class Main {
public static void main(String[] args) {
TikeRunnable tr = new TikeRunnable();
new Thread(tr,"窗口1").start();
new Thread(tr,"窗口2").start();
new Thread(tr,"窗口3").start();
new Thread(tr,"窗口4").start();
}
}
class TikeRunnable implements Runnable{
private static int num = 1000;
String lock = "锁子";
@Override
public void run() {
while(num>0) {
synchronized (lock) {
if (num<=0) {
return;
}
String name = Thread.currentThread().getName();
num--;
System.out.println(name+"销售了一张票,还剩"+num+"张票 ");
}
}
}
}