码迷,mamicode.com
首页 > 其他好文 > 详细

OO第二次博客作业

时间:2018-05-02 16:15:15      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:管理   未能   多线程   过程   作用   图片   信息   条件   路径   

第五次作业——多线程电梯

1:设计策略

刚入手第五次作业时,一头雾水,根本不知道多线程该怎么写,该怎么入手,对各个线程之间的关系与调度不是很熟悉,就耗费了大量的时间在学习多线程的写法,最后从课件上的消费者生产者模型中得到一些灵感。

这次作业与第一阶段的电梯作业全然不同,需要在读取输入的同时进行操作,就不能将全部的指令读取完再进行一系列操作,这对指令的处理难度是非常大的,在借鉴了消费者生产者模型后,就构造了一个托盘,将请求放到这个托盘中,再从托盘中抓取请求,最后作用于调度器。

2:作业类图

技术分享图片

3 度量分析

技术分享图片

4:bug分析

在这次作业中,由于未仔细处理好电梯间的调度关系,被判为无效作业,仔细查看了自己的代码,是由于在上交时少了一行代码,然后输出的结果未能显现,且本身的调度机制也存在问题,这为我之后的作业敲响警钟。

 

第六次作业——IFTTT的实现

1:设计策略

这次作业从之前的电梯调度,变为了文件的处理,不仅仅是这样,对文件的处理又要求了线程的安全,这次作业也是绞尽脑汁在想线程安全的地方用在哪里,SafeFile该怎么用,这次的作业对读取信息的难度并没有那么大,只需要定时扫描请求队列即可,不像电梯中存在同质,捎带等请求,只需按照请求的顺序,一条条处理即可。

2:作业类图

 技术分享图片

3:度量分析

 技术分享图片

4:bug分析

在这次作业中,由于线程安全的问题,就在对文件的处理和recover过程中存在的冲突并没有解决,就导致输出的信息存在很多bug,但最终就只被报了一个bug,这虽然只是一个简单的bug,但让我对线程安全和冲突问题的理解又上升了一个档次。

 

第七次作业——模拟出租车

1:设计策略

一拿到这次作业,就想到了这次作业其实和多线程电梯有异曲同工之妙,因此在设计这次作业时自然而然就想到了三个线程,调度线程,出租车线程和输入线程,在每个输入线程到来时,让调度线程进行3000ms的延迟操作,让每个出租车去抢单,再对各个抢单的出租车按条件进行筛选,调出该执行请求的出租车后对它进行调度,再按最短路径让他进行运动即可,然后改变状态。

2:作业类图

 技术分享图片

3:度量分析

 技术分享图片

4:bug分析

在这次作业中,由于上次IFTTT作业的互测阶段让人很不愉快,这次似乎大家都手下留情了?在这次的输出中,我没有将每个输出进行很好的规划管理,就对输出在文件中的东西显得很乱,不易阅读,就被报了几个bug,也都能接受。

心得体会:

这三次作业写得让人身心俱疲,过程十分痛苦,感觉就压榨自身的所有精力投入到这次作业中,OO课程设计的让人压力实在太大,但在这过程中让我们学到了很多知识,可以说是有利有弊吧,在不断写作业的过程中获得知识不断完善自己的知识盲区,这样也不失为一件好事。

OO第二次博客作业

标签:管理   未能   多线程   过程   作用   图片   信息   条件   路径   

原文地址:https://www.cnblogs.com/jtymisery/p/8975948.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!