请教关于类锁的同步问题
有个作业要求实现多个售票站卖火车票,我想把票设为静态变量,然后通过一个类方法来取票来保证同步,但是给类方法上锁以后,不同实例的线程取票时还会出错,卖出第-1张票,请问问题出在哪里呢?是类方法的调用方式有问题么?
代码如下:
public class Tickets extends Thread{
private static int tickets=100;
public static synchronized void sellOne(String name){
System.out.println(name+"_________"+(tickets--));
}
public void run(){
while(tickets>0)
{
String name=Thread.currentThread().getName();
sellOne(name);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new Tickets().start();
new Tickets().start();
new Tickets().start();
new Tickets().start();
}
}