一、分析程序结构
第五次作业
度量:
类图:
BUG分析
输出格式问题,多线程写的有问题,导致在捎带的时候会出问题。
设计分析
由于这是第一次多线程问题,所以在线程的锁与调度的问题上,会出现一些问题,因为之前没有写过多线程的程序,所以会出现无论是逻辑还是代码风格都很不好看。
第六次作业
度量:
类图:
BUG分析
文件安全问题
设计分析
这次逻辑比较简单,所以把文件上次的属性存下来再监控的时候得到这次的属性进行比对就可以了,所有比对的关系都是指导书里写好的,所以基本不存在很困难的设计难点。
第七次作业
度量:
类图:
BUG分析
代码长度不平均,有时候由于程序运行需要时间,在取整的时候会使得一条边走的时间是300ms
设计分析
由于GUI里面把许多方法已经写好,Main也是写好的,所以只要自己写一个出租车的动的方法即可。所有的请求与出租车都是一个线程,出租车判断抢单,请求判断给那辆出租车,我认为这样比较合理。
二、发现别人BUG的策略
第一次作业通过测试公测发现了对方的BUG,之后大概知道了他的问题出现在哪里,第三次在我阅读过他的代码之后,认为不存在BUG,并且对方的说明文档写的也比较优秀。
三、多线程协同和同步的总结
写过多线程的作业之后,我更加了解了线程之间的安全问题是极为重要的,从一开始什么都不会,到后来知道了什么是多线程,知道了线程之间可以共同协作,也知道了线程之间共同使用一个对象是有问题的,所以需要锁,知道了只有锁起来才是比较正确的选择。
四、心得体会
线程安全和多线程程序密切相关,在考虑多线程程序的时候,线程安全是必不可少的,同时,设计又是极为重要的,我想只有有一个优秀的设计才可以应对不断改变的需求,所以,要花费更长的时间来思考设计问题,而不仅仅是花费全部的时间在代码上。