java基础多线程之销售示例:

class SaleTicketDemo
{
    public static void main(String[] args)
    {
        Ticket ticket = new Ticket();
        for(int i=1;i<6;i++)
        {
            new Thread(ticket,"window "+i).start();
            try
            {
                Thread.sleep(10);
            }
            catch(Exception ex)
            {
                System.err.println(ex.getMessage());
            }
        }
    }
}

class Ticket implements Runnable
{
    private int num = 1000;    
    public void run()
    {
        while(num>0)
        {
            sale();
        }
    }
    
    public synchronized void sale()
    {
        if(num>0)
        {
            try
            {
                Thread.sleep(10);
            }
            catch(Exception ex)
            {
                System.err.println(ex.getMessage());
            }
            
            System.out.println(Thread.currentThread().getName() + " saleing... "+num--);
        }
    }
    
}
原文地址:https://www.cnblogs.com/cxmsky/p/2860401.html