packagesrc.syn;publicclassUnsafeBuyTicket{publicstaticvoidmain(String[] args){BuyTicket station =newBuyTicket();newThread(station,"铁蛋").start();newThread(station,"二愣子").start();newThread(station,"小八").start();}}//需要一个购票方法(是一个多线程)classBuyTicketimplementsRunnable{//需要票数privateint ticketNums =10;boolean flag =true;//外部停止方式@Overridepublicvoidrun(){while(flag){buy();}}//创建买票方法//synchronized 同步方法,锁的是this(BuyTicket)privatesynchronizedvoidbuy(){//判断是否有票if(ticketNums <=0){
flag =false;return;}try{Thread.sleep(100);}catch(InterruptedException e){
e.printStackTrace();}//买票System.out.println(Thread.currentThread().getName()+"拿到"+ ticketNums--);}}
模拟购票(Java)package src.syn;public class UnsafeBuyTicket { public static void main(String[] args) { BuyTicket station = new BuyTicket(); new Thread(station, "铁蛋").start(); new Thread(station, "二愣子").start(); new Thread