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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

100张票,多线程怎么实现?四个窗口卖票

2 个回复

倒序浏览
package com.heima.practice;

public class Practice08 {
        public static void main(String[] args) {
                TicketsSeller t1 = new TicketsSeller();
                TicketsSeller t2 = new TicketsSeller();
                TicketsSeller t3 = new TicketsSeller();
                TicketsSeller t4 = new TicketsSeller();
                t1.setName("窗口1");
                t2.setName("窗口2");
                t3.setName("窗口3");
                t4.setName("窗口4");
               
                t1.start();
                t2.start();
                t3.start();
                t4.start();
        }

}
class TicketsSeller extends Thread{
        private static int tickets = 100;
        static Demo1 d = new Demo1();
        public TicketsSeller() {
                super();
               
        }
        public TicketsSeller(String name) {
                super(name);
        }
        public void run () {
                while (true) {
                        synchronized (d) {
                                if (tickets <= 0) {
                                        break;
                                }
                                try {
                                        Thread.sleep(100);
                                       
                                } catch (InterruptedException e) {
                                       
                                        e.printStackTrace();
                                }
                               
                                System.out.println(getName() + "..这是第" + tickets-- + "号票");
                        }
                }
        }       
       
}
class Demo1 {}
回复 使用道具 举报
黑马的面试题,楼主要学会了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马