}
}
}
}编译运行:

用同步块实现,现在结果正常了。
同步块实现机制:
synchronized(){}实现了线程的同步,在{}之间的代码段成为理临界区。
java中每一个对象都有一个监视器,或者叫做锁。
上面程序通过obj作为一个监视器对象,同步块实现了对obj监视器加锁和解锁功能。
同步方法的实现如下:

class TicketSystem...{
public static void main(String[] args)...{
SellThread st=new SellThread();
new Thread(st).start();
new Thread(st).start();
new Thread(st).start();
new Thread(st).start();
new Thread(st).start();
}
}
class SellThread implements Runnable...{
int tickets=20;
Object obj=new Object();
public void run()...{