A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© pengbin 中级黑马   /  2015-7-15 10:27  /  155 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  /**
   * 7、 编写三各类Ticket、SealWindow、TicketSealCenter分别代表票信息、售票窗口、售票中心。
   * 售票中心分配一定数量的票,由若干个售票窗口进行出售,利用你所学的线程知识来模拟此售票过程。
   *
   */

class test
{
        public static void main(String[] args)
        {
                windows.openwindows();
        }
}

class tickets implements Runnable
{
         String name;
        tickets(String name)
        {
                this.name=name;
        }
        static int tickets = 100;
        public  void run()
        {
                saleticket();
        }
        public  synchronized void saleticket()
        {
                while(tickets>0)
                {
                        System.out.println(this.name+"..."+tickets);
                        System.out.println(this.name+"卖出了第"+(tickets--)+"张票");       
                }
        }
       
}

class windows
{
        public static void openwindows()
        {
               
                for(int x=1;x<=5;x++)
                {
                        tickets tic = new tickets("售票窗口"+x);
                        Thread t = new Thread(tic);
                        t.start();
                }
        }
}

上面这段代码 saleticket()函数已经设置为同步,为什么还会有问题?

1 个回复

倒序浏览
多线程我还没学的,才学到面向对象
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马