OO第二次博客作业
Posted EternalWing
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OO第二次博客作业相关的知识,希望对你有一定的参考价值。
第五次作业:
此次作业是3个多线程电梯,其中有电梯线程、调度器线程、输入线程。
电梯线程负责线程的运动,调度器线程对输入的指令进行分配,输入线程从界面读取指令并放入请求队列中。
电梯线程在判断捎带情况时会读取其他电梯的状态,而且3个电梯都会同时访问主请求队列,所以需要对电梯状态的访问和请求队列的访问进行限制。多线程的问题大多会出现在数据的共享方面,所以我建立了共享类去管理线程之间的共享。
结果表明我对线程数据的管理是有效的,没有出现线程不安全的现象。但是对于电梯的各种行为没有清楚的定性和书写规范,导致一些行为理解错误或者没有进行覆盖性的执行。
BUG分析:
总体而言,此次作业并没有大多的bug,只是对于对电梯一些行为的错误定义,一份pdf每个人都会有自己的看法。整个互测过程中,没有发现特别致命的bug,只是一些情况没有考虑的bug没有实现,或者懒得写?
第六次作业:
文件操作,java的文件操作很陌生,其中对于文件和文件夹的监控虽然不属于同种类型,其实都是对文件树的监控。对于每个监控器都有自己的一个线程,但是他们监控的文件都是同一个文件,其中对于文件的操作是各个线程独立的。所以我们需要一个文件安全类去保证不会同时写或同时读写的发生。对于文件信息的扫描,我们可以采取对文件树建立快照,取以前的状态进行对比。
此次作业因为刚开始的数据处理还有各种处理方法的不合理导致无法完全实现功能,没有扎实的代码功底让我写的非常艰难。
BUG分析:
对java文件的不熟练、导致对于文件夹的判断有问题。
第七次作业:
出租车的调度问题。其中有出租车线程,输入线程。对于每个输入都对其进行调度。
对于每个指令都会寻找范围内的车辆,所以需要的到所有车的信息。即调度时要对车辆的读写要保证其安全性。
因为觉得最短路径太耗时间所以没有计算两点之间最短路径,然后直接瞬移。。。。debug很难受。
体会:
要说这几次作业什么对于我写作业有巨大的阻碍,那就是写代码的思维和构造代码的规范,规范是前人栽树后人乘凉,只要遵守基本只有好处没有坏处。思维对于问题的考虑不是很深入,比较浅显,从读大佬的代码中就会发现另一种思维方式,你会发现你费劲心思想的问题从另一个角度根本不会遇到,能帮助自己补充知识。每次作业都是对自己是一种挑战、但只要坚持下去,去完成,不放弃你也能有很大的收获。当然,OO花的时间很明显与自己选的课有很大的冲突,很难顾全所有的课程,导致课程体验极差,只能苦中作乐了。
以上是关于OO第二次博客作业的主要内容,如果未能解决你的问题,请参考以下文章