总结性博客作业
(1)从多线程的协同和同步控制方面,分析和总结自己三次作业来的设计策略及其变化。
第五次作业
三个电梯分别为三个线程,输入处理为一个线程,电梯调度为一个线程。
第六次作业
每个监视任务为一个线程,输入处理为一个线程。
第七次作业
100辆出租车分别为100个线程,输入处理为一个线程,调度器分三个部分,每个部分是一个线程。
三次作业都使用Lock
,在需要对共享资源操作时lock try catch finally unlock
。
(2)基于度量来分析自己的程序结构
第五次作业
第六次作业
第七次作业
(3)分析自己程序的bug
第五次作业
少打了一个
if
导致捎带判断有误多次使用
System.currentMillis
,该方法本身的耗时高导致时间存在误差,之后改用System.nanoTime
第六次作业
- 将一处输出的
path-changed
错打成了size-changed
第七次作业
- 忘记判断坐标合法
(4)分析自己发现别人程序bug所采用的策略
缘,妙不可言
(5) 心得体会
只要人人都献出一点爱,世界就会变成美好的明天