qq_39824632
菜鸟级h5
2017-08-15 13:11

Java线程异常之卖票问题

  • 线程
  • java
  • 异常

public class Piao implements Runnable{

Integer p=5;
@Override
public synchronized void run() {

    synchronized(p) {
    if(p>0) {

        System.out.println("卖出了第"+p+"张票");
        p--;

    }
    else {
        System.out.println("没了");
    }
    }
}

public static void main(String[] args) {
Piao c=new Piao ();

    new Thread(c).start();
    new Thread(c).start();
    new Thread(c).start();
    new Thread(c).start();
    new Thread(c).start();

}
}
就是这种卖票的问题,如果锁方法;就会让一个线程卖完全部票,如果锁票数,就会出现两个线程卖同一张票的问题,等待和睡眠都不好使的。请问怎么处理,谢谢解答

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

3条回答

为你推荐