菜鸟级h5
2017-08-15 13:11Java线程异常之卖票问题
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条回答
为你推荐
- JAVA中多线程读取成员变量的重复问题
- 锁
- java
- 成员变量
- 多线程
- 3个回答