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