卖票的问题,4个线程一起买100张票
public class Ticket implements Runnable {
private int num = 100;
Object obj = new Object();
@Override
public void run() {
while (true){
try{
Thread.sleep(10);
}catch(InterruptedException e){}
if (num > 0){
System.out.println(Thread.currentThread().getName()+"...sale..."+num--);
}
}
}
}
-----
public class TicketDemo {
public static void main(String[] args) {
Ticket t = new Ticket();
Thread t1 = new Thread(t);
Thread t2 = new Thread(t);
Thread t3 = new Thread(t);
Thread t4 = new Thread(t);
t1.start();
t2.start();
t3.start();
t4.start();
}
}
运行结果:
为什么同一张票会被重复卖出去?,我想知道造成这一现象的原因和过程讲解,求大神指导。 我知道加个同步锁就没事啦~ 可是我就想知道造成这一现象的过程和原因
我要变大神大神大大神
四无小青年
习惯受伤
silencecorner
随时随地看视频慕课网APP
相关分类