用java设计 两个线程同时卖100张火车票
发布网友
发布时间:2022-05-31 17:20
我来回答
共2个回答
热心网友
时间:2023-10-20 18:51
public class Test {
public static void main(String[] args) {
Runnable ticket=new TrainTicket();
Thread seller1=new Thread(ticket);
Thread seller2=new Thread(ticket);
seller1.start();
seller2.start();
}
}
class TrainTicket implements Runnable{
//100张一下就卖完了,改成1000吧。假设座位号为1-1000;
public int n=1000;
@Override
public void run() {
while(n>0){
System.out.println(Thread.currentThread().getName()+"卖出了座位:"+n);
n--;
}
}
}
热心网友
时间:2023-10-20 18:51
楼上的答案有缺陷,n-- 并不是一个原子操作,run方法里面应该加锁