面向对象5-7次作业总结

多线程设计总结

  第5次没写,无效作业。

 

   第6次,可读文件对象对应一个线程,目录文件对应一个线程,同时目录下所有文件对应一个线程。

 

   第7次,每个有效请求对应一个线程,当请求派单窗口结束时开始,请求结束时结束。每个出租车对应一个线程,不结束。都取请求的一个独立线程。

 

度量

   第5次没写,无效作业。

   第6次作业:

   

   第7次作业: 

类图

   第5次:无效作业,没写。

   第6次:

    Detail方法实现的是snapshot功能,但也有记录功能,record实际上是Deatil记录功能,这里设计比较混乱。获取请求可直接在main中而不必独设线程。

   第7次:

   获取请求可直接在main中而不必独设线程。run方法太过繁杂,应该把功能独设函数。

自己的bug

  没人测出来。

测试别人的bug方法

  多线程程序的代码逻辑相比单线程程序复杂很多,有时候直接阅读代码也难以找到其中的漏洞。但是同时也难以用大量数据测试。所以本人的测试除去少量的数据量压力测试,都用少量的边界数据或是一般的逻辑易错数据进行测量

心得

   多线程设计具有高度自由度,输出输入其实根据个人的设计不同,具有非常大的差异。所以readme的书写十分重要。readme中不仅要标注输入输出文件所在地,还要指示出输入的格式,输出的内容含义,以及测试用函数的位置和修改方法以及用法。

   多线程不宜有多个锁,所以我的线程基本上都通用一个锁对象object,这样很难会发生时序和逻辑上的错误,但是程序的虚拟的运行时间与实际的时间会差上不少,并且很难通过debug改正。

posted @ 2018-05-01 11:00  shinyruo开始了  阅读(197)  评论(0编辑  收藏  举报