黑马程序员技术交流社区

标题: 交通灯管理系统的疑问,求解答! [打印本页]

作者: 思维    时间: 2014-8-16 16:21
标题: 交通灯管理系统的疑问,求解答!
本帖最后由 思维 于 2014-8-17 09:08 编辑

今天学交通灯管理系统,看到张孝祥老师的PPT里面有这么一句话:在Road对象的构造方法中启动一个定时器,每隔一秒检查该方向上的灯是否为绿,是则打印车辆集合和将集合中的第一辆车移除掉。
问题是:难道当前灯不是绿灯,已经进入集合的车辆就不用移除吗?实际情况是不是当前灯变为红灯时,已经进入该路线的车辆必须停下原地待命,等下次绿灯啊?
  1. ScheduledExecutorService timer = Executors.newScheduledThreadPool(1);
  2.                 //创建一个固定频率的定时器,
  3.                 timer.scheduleAtFixedRate(
  4.                         //执行路线中车辆通过的线程
  5.                         new Runnable(){
  6.                                 public void run(){
  7.                                         //假设路中存在车辆
  8.                                         if(vechicles.size()>0){
  9.                                                 //返回当前路线灯的状态
  10.                                                 boolean lighted = Lamp.valueOf(Road.this.name).isLighted();
  11.                                                 //假设道路上为绿灯,remove(0)表示移除首先进入该集合的车辆
  12.                                                 if(lighted){
  13.                                                         System.out.println(vechicles.remove(0)+"is traversing!");
  14.                                                 }
  15.                                         }
  16.                                 }
  17.                         },
  18.                         //初始化延时,1秒以后执行该线程
  19.                         1,
  20.                         //两次开始执行的最小间隔时间为1秒
  21.                         1,
  22.                         //计时单位:秒
  23.                         TimeUnit.SECONDS                        
  24.                 );               
复制代码

作者: fantacyleo    时间: 2014-8-16 18:07
肯定的啊,前面是红灯还不停下来,那是闯红灯啊
作者: 思维    时间: 2014-8-16 21:11
好吧!看来我还不太懂交通法规!
作者: 215041631    时间: 2014-8-16 21:59
肯定啊 ……你开车不看红绿灯?
作者: 侯岩卿    时间: 2014-8-16 22:53
红灯吗。当然是要停车等绿灯啊
作者: 思维    时间: 2014-8-17 09:08
主要是还木有碰过车:D
作者: java—family    时间: 2014-8-17 09:17
思维 发表于 2014-8-17 09:08
主要是还木有碰过车

你不会理解为行人看见的红绿灯吧。




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