黑马程序员技术交流社区

标题: 线程题~一个停车场一共有50个车位, 建立两条线程模拟两个... [打印本页]

作者: UZI    时间: 2016-10-27 00:03
标题: 线程题~一个停车场一共有50个车位, 建立两条线程模拟两个...
一个停车场一共有50个车位, 建立两条线程模拟两个入口. 随机停没有停过车的车位,停完提示车位已满.
public static void main(String[] args) {
                new CarStop("入口1").start();
                new CarStop("入口2").start();
        }
class CarStop extends Thread{
        private static int carStop = 50;
        ArrayList<Integer> list = new ArrayList<>();
        Random r = new Random();
               
        public CarStop(String name) {
                super(name);
        }
       
        public void run() {
               
               
                while (true) {
                        synchronized (CarStop.class) {
                               
                                if (carStop == 0) {
                                        System.out.println("车位已满");
                                        break;
                                }
                                int num = r.nextInt(50)+1;
                                if (!list.contains(num)) {
                                        list.add(num);
                                        carStop--;
                                        System.out.println("从" + getName() + "进入,停在" + num +"车位还剩" + carStop + "个车位");
                                }
                               
                        }
                }
        }
}


作者: Jarc    时间: 2016-10-27 06:25
都忘记了:-\

作者: glq123    时间: 2016-10-27 19:38
66666666前来膜拜

作者: simonhjq    时间: 2016-10-29 17:32
集合要加静态吧?
作者: poi1234bnm    时间: 2016-10-29 23:34
再来两个出口。模拟不停地停车出车。。
作者: UZI    时间: 2016-10-30 00:17
poi1234bnm 发表于 2016-10-29 23:34
再来两个出口。模拟不停地停车出车。。

那样就死循环了..




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2