博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OO第二次博客作业
阅读量:4604 次
发布时间:2019-06-09

本文共 719 字,大约阅读时间需要 2 分钟。

第五次作业

类图

度量

 Bug分析

1.本次写无效输入的正则时忘记判断了0楼层为非法指令导致错误。

2.第一次写多线程设计,很多线程之间的同步控制没有办法很好的理清楚,在电梯状态转换的边界上的线程同步控制处理不当。

设计分析

本次设计时没有很好的理清楚各个线程状态转换时,线程之间的交互逻辑。导致当电梯在转换边界的指令的捎带情况会出现问题。

第六次作业

类图

度量

Bug分析

1.未能正确理解指导书的rename逻辑,导致rename逻辑出错。

2.输入判断逻辑有误,导致输入时不能正确的在指令条数过多时停止。

设计分析

本次作业主要难点在于正确理解指导书后,将每个功能理解清楚。我将每次监控请求都作为一个线程来运行,这样保证了每个线程之间的消息独立性。代码量和思维量也减小很多,体现了多线程编程的好处。

第七次作业

类图

 

度量

Bug分析

由于时间是取自系统时间,且时间精度为100ms,可能会因为1ms的误差导致最后100ms的误差。

设计分析

将每辆出租车,每个请求各开一个线程。然后通过一个请求列表来进行出租车和请求之间的交互。这次出租车的状态转换之间的线程同步处理较为简单,只需注意出租车在改变状态时的几种情况即可。

发现别人bug的策略

由于这几次作业都是多线程,不好通过大量的数据来批处理的测试对方bug。因此主要采取测公测时研究对方代码的逻辑来进行测试。

多线程设计总结

多线程的设计关键在于几点:对对象分析之后线程的选择,线程与线程之间的同步状态的问题,线程安全问题。

心得体会

感受到了多线程的程序的方便之处。

 

转载于:https://www.cnblogs.com/chuizi000/p/8981111.html

你可能感兴趣的文章
java链表实现
查看>>
<context:component-scan>子标签:<context:include-filter>和<context:exclude-filter>使用时要注意的地方...
查看>>
Java基础——工厂模式
查看>>
Oracle卸载
查看>>
ios中scrollView基本用法
查看>>
Python--网络编程-----socket介绍
查看>>
android的Timer方法
查看>>
nodejs入门
查看>>
DT大数据梦工厂 第80讲
查看>>
网页游戏制作
查看>>
温故知新(5)——组合模式
查看>>
消息队列Java的简单实现
查看>>
C#语法之Linq查询基础二
查看>>
敏捷开发智慧敏捷系列之三:做不做架构设计?
查看>>
MMSEG 中文分词算法 翻译
查看>>
Java求职实战之继承和多态
查看>>
手机Fildder抓包_监控应用请求
查看>>
【SoftwareTesting】Homework2
查看>>
Java常见笔试、面试题目深度剖析
查看>>
个人课程总结
查看>>