package com.lovecoding.day14.thread03;

public class Ticket {

    public static int count = 100;

    //锁对象
    public Object obj = new Object();

    //同步方法 默认锁对象是this
    //买票的方法
    public static synchronized void sale(){
        if (count >= 0){
            System.out.println(Thread.currentThread().getName()+"窗口 ，正在买票"+(count));
            count--;
        }else{
            System.out.println("没有票了");
        }
    }

    //同步方法 默认锁对象是this
    //买票的方法
//    public synchronized void sale(){
//        if (count >= 0){
//            System.out.println(Thread.currentThread().getName()+"窗口 ，正在买票"+(count));
//            count--;
//        }else{
//            System.out.println("没有票了");
//        }
//    }

    //买票的方法
    public void sale1(){
        //同步代码块
        synchronized (obj){
            if (count >= 0){
                try {
                    Thread.sleep(1);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                System.out.println(Thread.currentThread().getName()+"窗口 ，正在买票"+(count));
                count--;
            }else{
                System.out.println("没有票了");
            }
        }
    }

    //买票的方法
    public void sale2(){

        if (count >= 0){
            try {
                //线程1  线程2 线程3 线程4
                Thread.sleep(1);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println(Thread.currentThread().getName()+"窗口 ，正在买票"+(count));
            count--;
        }else{
            System.out.println("没有票了");
        }

    }

}
