交通灯系统中学到的技术

来源:互联网 发布:comtrade数据库怎么用 编辑:程序博客网 时间:2024/04/28 17:53

       模拟交通灯系统中灯分为12种,代表12种不同的走向。采用的是枚举的方法来表示,枚举的实例对象还采用了自定义构造方法产生。代码如下:

S2N("N2S","S2W",false),S2W("N2E","E2W",false),

E2W("W2E","E2S",false),E2S("W2N","S2N",false),

N2S(null,null,false),N2E(null,null,false),W2E(null,null,false),W2N(null,null,false),

S2E(null,null,true),E2N(null,null,true),N2W(null,null,true),W2S(null,null,true);

         private Lamp(String opposite,String next,boolean lighted){

                   this.opposite = opposite;

                   this.next = next;

                   this.lighted = lighted;

         }

 

第二个技术就是采用了单任务执行器和调度执行器。

ExecutorService pool = Executors.newSingleThreadExecutor();

单任务执行器用来执行每隔一段随机时间产生一个上路车辆。

ScheduledExecutorService timer =  Executors.newScheduledThreadPool(1);

调度器每一秒检查一次该路线灯是否为绿,是则执行相应动作。

 

还有个技术是最重要的,从张老师对该模型的逻辑讲解,在程序编写过程中对面向对象的思想有更深的了解。至今对张老师的培养面向对象思想的一句话印象相当深刻:谁拥有数据,谁就对外提供操作这些数据的方法。实在精辟,很受用!

原创粉丝点击