classTicket{
private int number =50;// 默认非公平锁,true设为公平锁
ReentrantLock lock = new ReentrantLock(true);
public void sale(){
lock.lock();if(number>0){
number --;
System.out.println( Thread.currentThread().getName()+" has "+ number);}
lock.unlock();}}
public classdemo01{
public static void main(String[] args){
Ticket ticket = new Ticket();
new Thread(()->{for(int i =0; i <55; i++)
ticket.sale();},"t1").start();
new Thread(()->{for(int i =0; i <55; i++)
ticket.sale();},"t2").start();
new Thread(()->{for(int i =0; i <55; i++)
ticket.sale();},"t3").start();}}