OO——电梯作业总结】的更多相关文章

目录 电梯作业总结 程序结构与复杂度的分析 第一次作业 第二次作业 第三次作业 程序BUG的分析 互测 自动评测 有效性 总结 电梯作业总结 程序结构与复杂度的分析 第一次作业 1.设计思路 第一次作业是电梯作业的第一次,也是我多线程变成的第一次实践.任务是编写一个多线程实时电梯系统,采用FAFS的调度方式.由于第一次作业中没有涉及到多部电梯以及捎带的情况,因此来说是比较简单的.我采用的是指导书提示部分中的模式,即生产者消费者模式 主线程进行输入的管理,使用ElevatorInput,负责接收请…
(一)第五次作业 一.设计思路 生产消费者模型,输入接口是producer,调度器是tray,电梯是customer.由于只有一架电梯,所以生产消费模型满足以下条件: 一个生产者,一个消费者 托盘不为空时,消费者可以取走请求.任何时候,生产者可以添加请求.(托盘无容量限制) 互斥:生产者--生产者,消费者--消费者. 同步:生产者至少生产一次,消费者才能消费. 互斥问题我给get和put函数加了方法锁. 二.调度策略:FAFS傻瓜电梯 遵循先到先服务,所以调度器作用很小,只是完成托盘的功能.调度…
目录 第三次电梯作业个人优化 前言 优化思路 一.调度器 二.电梯 第三次电梯作业个人优化 前言 由于个人能力有限,第二次电梯作业只能完成正确性设计,没能进行优化,也因此损失了强测分数,于是第三次电梯作业时便决定进行优化,结果强测错了一个点,同样损失了强测分数--但是总的来说,第三次作业的优化还是有一定效果的,性能分比起完全没有优化的第二次高了许多,有的点甚至达到了96.97分,也一定程度上弥补了我第三次作业的强测分数. 在写博客之前也拜读了很多大佬的优化博客,比起他们的一些很巧妙的优化方法,还…
前言 本单元作业主要以设计电梯来实现多线程编程.本章主要学习了如何使用多线程以及如何确保多线程安全,从电梯的调度策略中学会了如何简单地使用synchronized锁来控制线程安全. 首先,明确锁的两个常用的用法:synchronized修饰一个方法,synchronized修饰一个类.前者作用范围是整个方法,作用的对象是调用这个方法的对象.后者作用于关键词后大括号圈定的代码段,作用对象是这个类的所有对象.之后,便是自己代码的分析. 一.程序结构分析, 第一次作业 1)设计思路 第一次电梯作业实现…
写在最前面: 我是一个这学期之前从未接触过java的小白,对面向对象的理解可能也只是停留在大一python讲过几节课的面向对象.幸运的是,可能由于前三次作业难度还是较低,并未给我造成太大的困难,接下来我就三次作业,从程序以及个人体会谈谈我的分析与感悟. 第一次作业: 度量结果以及UML图: 度量结果: UML: 分析: 这次作业是我人生中的第一个像点样子的java程序,刚拿到指导书真是一脸懵逼.由于我还什么都不太懂,于是我就采用了“照猫画虎”的策略,直接模仿老师ppt中给出的代码框架,然后自己填…
目录 目录一.第一次作业分析设计策略基于度量分析程序结构二.第二次作业分析设计策略基于度量分析程序结构三.第三次作业分析设计策略基于度量分析程序结构四.分析自己程序的bug五.发现别人程序bug所采用的策略六.心得体会线程安全设计原则 一.第一次作业分析 设计策略 采用生产者-消费者模式,调度器作为托盘,请求处理器不断向托盘提交请求,电梯不断从托盘中获取请求执行,当托盘为空时,进入等待.其中调度器是共享对象,请求处理器和电梯是两个线程. 线程安全方面,由于理论知识不扎实,由请求处理器和电梯分别管…
OO第一次学习总结 1.第一次作业:多项式加法 从未接触过java的我,在从输入输出开始学了几天后,按照C语言的思路,写出了一个与面向过程极其接近的程序. 在这个程序中,存在两个类:一个是ComputePoly,用于验证格式.提取以及传递多项式参数:还有一个是Poly类,用以多项式的存储与计算. 从下图可以看到,程序总共有94行,而main方法有47行,占了一半的行数,说明该程序的总体思路仍是停留在写C代码时的面向过程思想上,将大部分的处理操作在main中逐步实现,而不是分摊到类中,从而导致ma…
在本章的三次作业里,每次作业我都有一个主题,分别是:托盘型共享数据.单步电梯运行优化.多部电梯运行优化,因而电梯优化实际是第二.三次作业.虽然后两次作业从性能分上看做得还不错,但阅读其他大佬博客,我深深地体会到鄙人朴素拙劣的调度算法能够取得这样的分数实属幸运,因此,对于这篇博客,我将只简略地介绍一下自己的调度算法,把重点放在关于电梯调度架构的思考上. 电梯调度算法 单电梯调度:对于每部电梯,我的调度算法都是朴素的LOOK算法,并且当休眠的电梯同时收到了可上可下的请求时,其会向从接人运行路程较短的…
目录 前言 HW5 度量分析 UML类图与协作图 bug分析 HW6 度量分析 UML类图与协作图 bug分析 HW7 度量分析 UML类图与协作图 bug分析 SOLID原则 感想 前言 紧张刺激的第二单元结束了,本单元体验极佳, 进行作业前有注重架构的稳定,在良好的架构上考虑优化,如此也便利了迭代. 另外,没遇上线程安全bug的电梯,不是完整的电梯[doge] HW5 本次作业要求实现单部可捎带电梯,典型的生产者消费者模式, 输入线程Request是生产者, 电梯线程Elevator是消费者…
前言: 这是一篇面向对象作业总结,作业内容是对多项式进行求导,一共有三个阶段,具体要求不详述,第一阶段只要求’+’连接coeff*x^pow的形式,第二次支持*连接的幂函数及三角函数,第三次则需要支持括号表达式的嵌套.本想不用编译原理所述表达式树,最后发现做成一团乱麻. 第一次作业 类图如下: 说明:第一次作业比较简易,主要是对新版eclipse和checkstyle的安装和熟悉.词法分析器为Token,可以考虑将其单例化,因为只有一个词法分析器.用Poly存储多项式的系数和幂次,在PolyDi…