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

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();

}
}
就是这种卖票的问题,如果锁方法;就会让一个线程卖完全部票,如果锁票数,就会出现两个线程卖同一张票的问题,请问怎么处理?

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

4条回答

为你推荐

换一换