一、写在前面: 经过了前三次作业的试水,在第二阶段的三次作业中,因为多线程的引入,面向对象课程进入了需要摸着石头过河的“深水期”。犹记第五次作业发布恰逢清明假期,助教学姐语重心长地在通知板提示同学们早点开始,毕竟此次作业“拿下过往届很多同学的oo课程通宵首杀”。经过我的“实际体验”,多线程电梯的搭建 ...
分类:
其他好文 时间:
2018-05-02 21:05:29
阅读次数:
188
作业分析 一、多线程电梯 1.结构分析 对于第一张图片,圈复杂性的问题,可能还是由于对于电梯运行状态和捎带等情况的条件判断逻辑不够清晰。另外,有些方法因为分支过多,仍然导致了方法的代码量比较大。很多情况下仍然是很难避免这类问题。也尝试过在最初做一些规划,但由于水平有限,并不能做出良好的设计,实际的方 ...
分类:
其他好文 时间:
2018-05-02 21:01:07
阅读次数:
155
第五次作业总结 1.分析协同和同步控制 多线程三部电梯,请求接收和调度器写在同一个线程中,一个请求进入之后就根据当前各个电梯的状态进行分配,如果能够分配就分配给1、2、3的编号,如果不能分配就进行阻塞,当有电梯为wait for service时分配给这个电梯。另有三个电梯线程,一部电梯一个线程。每 ...
分类:
其他好文 时间:
2018-05-02 20:59:42
阅读次数:
111
作业小结2 第五次作业 多线程电梯 设计策略 构造两个队列,PendingRequestList和ProcessedRequestList。 PendingRequestList:已经输入的未被调度的请求队列。 ProcessedRequestList:已经被调度和分配的请求队列,每个电梯都有一个这 ...
分类:
其他好文 时间:
2018-05-02 20:59:26
阅读次数:
148
第五次作业类图: 度量图: UML时序图: 第五次作业中的电梯和调度器都用到了线程机制,然后在run方法中用到了很多的if-else,所以导致了嵌套比较深。由于这是第一次接触写文件和多线程,在没有合理安排时间下,这是过了提交时间后我才写出来的,所以被评为无效作业了,也就没了公测和互测,写完后自己也不 ...
分类:
其他好文 时间:
2018-05-02 20:58:14
阅读次数:
152
从第五次作业开始,我们接触到了多线程程序设计。多线程能够提高程序运行的效率,但是也对编写代码时数据的同步提出了更高的要求。接下来我将在这里对第五到七次作业进行一个简单的总结。 设计策略 第五次作业中,我们需要将之前的单部电梯拓展为多线程电梯。这次作业主要的数据同步问题在于请求发生器和调度器对于请求队 ...
分类:
其他好文 时间:
2018-05-02 20:58:04
阅读次数:
172
第五次作业: 类图: 度量图: 协作图: 分析:本次作业时多线程的电梯实现。第一次接触多线程,我没有过多的思考,直接用线程完成线程间的信息交互和信息储存,导致刚开始程序出现很多错误,甚至不能运行。根据度量图也可看出,线程的run方法写了过多的代码。而这其中的一些代码应是另一个非线程类所具有的,线程的 ...
分类:
其他好文 时间:
2018-05-02 20:57:36
阅读次数:
126
oo第八次作业 第五次作业分析: 1.度量图: 2.类图: 第五次作业由于是第一次接触多线程,所以导致自己的经验不足,因此最终也没有完成作业,到最后任然不能实现三部电梯的有效调度,所以导致了这次作业的无效 第六次作业: 1.度量图: 2.类图: 第六次作业,是完成对文件的监控操作。进过了上一次作业的 ...
分类:
其他好文 时间:
2018-05-02 20:57:28
阅读次数:
142
设计策略的变化 作业上 一开始接触多线程的时候完全没有概念,第五次作业按着之前的电梯的思路写了一通运行起来完全不是想象的那样,最后是选择了推倒重写,才终于抓住了一些多线程的灵光。 策略上 由于最初的时候我是以某一个具体着手,导致了整体的崩塌,我发现要想从微观到宏观至少在我这里是绝对走不通的,于是决定 ...
分类:
其他好文 时间:
2018-05-02 20:55:44
阅读次数:
159
第五次作业:多线程电梯 作业内容:相比于前两次电梯作业,本次电梯作业新的变化是多电梯运行。要想实现功能,便需要学会使用多线程机制,使三部电梯保持相互独立的对分配的请求进行处理。电梯能够处理捎带,且调度时采用运动量均衡策略去响应楼层请求。 类图: 度量图: bug分析:存在两个bug。在多线程电梯的调 ...
分类:
其他好文 时间:
2018-05-02 20:53:18
阅读次数:
140