`

黑马程序员--交通灯管理系统学习总结

 
阅读更多

---------------------- ASP.Net+Android+IO开发S.Net培训、期待与您交流! ---------------------

交通灯管理系统项目需求

 

 交通灯管理系统项目分析:

  • 一共有12个方向,东南西北四个方向都能够向其他三个方向转弯,其中只有右转不受红绿灯限制,所以还有8个方向受红绿灯限制,又因为8个方向之间是两两成对、荣辱与共的,所以实际上只要控制四个方向的灯的状态,就可以控制所有方向灯的状态了
  • 每条路都应该对应一个方向,而且在这条路上的车只会朝这个方向开,路每隔一段时间就要判断灯是否是绿的,是绿的就让车走掉一个,车子属于路,所以路还得有一个不断装进车子的方法。
  • 红绿灯只有4个方向的状态是需要控制的,这四个红绿灯也必须有它的附属4个方向,而且还有下一个要亮灯的方向,红绿灯的绿红(亮暗)状态由其一个布尔属性表示,所以红绿灯对象因为有控制这个布尔属性的方法,一个变亮一个变暗,并同时使其附属红绿灯也变更状态。另外在变暗的同时告诉别人下一个该变亮的红绿灯是哪个。
  • 红绿灯控制器只有一个属性,当前绿灯,并每隔一段时间改变当前绿灯,新的绿灯由将要变暗的绿灯告诉红绿灯控制器。

代码就不写了,张孝祥老师网上已经给出了

友情链接:http://edu.csdn.net/news/2012822/2fa100e34e43.shtml

 

另外在这个视频中我学习到了一些新的知识:

1、Executors类,帮助我们提供并发线程工具

  其中有一个返回ScheduledExecutorService 对象的方法,这个对象有两个方法:

  scheduleAtFixedRate:每隔固定时间就开始执行下一个任务,计时从上一个任务开启开始。

  scheduleWithFixedDelay: 每隔固定时间久开始执行下一个任务,计时从上一个任务结束开始。

2、NullpointException 为RuntimeException,并且当有多个线程出现该异常时,是非常难发现的,所在多线程的使用中,要多注意可能会产生空指针异常的情况。

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

详细请查看:http://edu.csdn.net

  • 大小: 23.1 KB
1
2
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics