package com.com.pipi
import java.util.Random;
import java.util.concurrent.TimeUnit;
/**
 * @description: 这样容易吃大锅饭
 * @author: 
 * @create:
 **/
public class TicketWindowRunnable implements Runnable{
    private  int index = 1;
    private boolean change = true;
    private final static int MAX = 50;
    private final static Object MUTEX = new Object();
    @Override
    public void run() {
        synchronized(MUTEX){
            while(index <= MAX && change ){
                System.out.println(Thread.currentThread().getName() + " 的号码是: " +(index++));
                try {
//                    TimeUnit.MILLISECONDS.sleep(new Random().nextInt(1000));
                    TimeUnit.MILLISECONDS.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
               change = false;
            }
            change = true;
        }
    }
    public static void main(String[] args){
        final TicketWindowRunnable task = new TicketWindowRunnable();
        for(int i = 0; i < 10; i++){
            Thread windowThread1 = new Thread(task, "一号窗口");
            Thread windowThread2 = new Thread(task, "二号窗口");
            Thread windowThread3 = new Thread(task, "三号窗口");
            Thread windowThread4 = new Thread(task, "四号窗口");
            Thread windowThread5 = new Thread(task, "五号窗口");
            windowThread1.start();
            windowThread2.start();
            windowThread3.start();
            windowThread4.start();
            windowThread5.start();
        }
    }
}