//每隔一秒检查对应的灯是否为绿,是则放行一辆车
ScheduledExecutorService timer = Executors.newScheduledThreadPool(1);
timer.scheduleAtFixedRate(
new Runnable(){
public void run(){
if(vechicles.size()>0){
boolean lighted = Lamp.valueOf(Road.this.name).isLighted();
if(lighted){
System.out.println(vechicles.remove(0) + " is traversing !");
这里移除的是vechicles中的第一个元素,为什么刚好就在绿灯所在的路线上。。
}
}
}
},
1,
1,
TimeUnit.SECONDS);
}
}
|