`
yx1989
  • 浏览: 10568 次
  • 性别: Icon_minigender_1
  • 来自: 烟台
社区版块
存档分类
最新评论

Java学习笔记

 
阅读更多

交通灯:
(1)简化模型
总共有12条路线,为了统一编程模型,假设每条路线都有一个红绿灯对其进行控制,右转弯的4条路线的控制灯可以假设称为常绿状态,另外,其他的8条线路是两两成对的,可以归为4组,所以,程序只需考虑图中标注了数字号的4条路线的控制灯的切换顺序,这4条路线相反方向的路线的控制灯跟随这4条路线切换,不必额外考虑。
交通灯的lamp类基础加强阶段枚举一节相同。
(2) 车辆的通过
每条路线每隔一秒都会检查控制本路线的灯是否为绿,是则将本路线保存车的集合中的第一辆车移除,即表示车穿过了路口。
(3) 灯的变化
除了右拐弯方向的其他8条路线的灯,它们是两两成对的,可以归为4组,所以,在编程处理时,只要从这4组中各取出一个灯,对这4个灯依次轮询变亮,与这4个灯方向对应的灯则随之一同变化,因此Lamp类中要有一个变量来记住自己相反方向的灯,在一个Lamp对象的变亮和变黑方法中,将对应方向的灯也变亮和变黑。每个灯变黑时,都伴随者下一个灯的变亮,Lamp类中还用一个变量来记住自己的下一个灯。
设计一个LampController类,它定时让当前的绿灯变红。
银行业务调度系统
(1) 两个问题
用户身份区分和排队系统。
(2) 实现
客户类型使用枚举,每个服务窗口的线程是互相独立的。排队机使用单例模式,同一时间只允许一个窗口取号。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics