BUAA_OO_电梯系列

电梯作业

第一次作业和第二次作业

由于我第一次作业给傻瓜电梯写了捎带所以第一次第二次作业差不多

电梯运行一个线程Elevator,输入控制一个线程Call

一个物理电梯控制表可以完成移动和进出人功能,一个电梯请求表用来调度和存储请求

电梯运行利用状态机OPEN,CLOSE,WAIT,UP,DOWN,STOP,GO,每个楼层电梯都会STOP判断需要开门如果开门

就出人进入然后关门,如果不需要开门,进入GO状态继续移动,

状态机比较时刻控制电梯运行以及封装函数,

电梯运行的算法基于贪心,如果电梯为空电梯去接离得最近的,如果电梯有人要先满足电梯里面人的需求顺便捎带

 

 总结整理和反思

代码复用性较差,由于贪心的存在可能存在先到来的要求不能被优先满足。

第三次作业

第三次作业继承了第二次作业的构造,对于物理电梯进行改造,由于第二次代码复用行较差对contorl进行大量的重新写

control加入了楼层数组floor(),对电梯人数设置了限制,对于调度策略,

电梯可以接两种人,一种是他出发楼层和结束楼层都在floor里面,出发楼层不是1或者15但是floor里面有但是结束楼层没有对于这种人我会把他放到最近的1或者15层(换乘楼层)

 

 总结整理和反思

刚开始写没有考虑电梯系统终止的条件,因为我们存在上上下下的情况

由于设计不存在总调度器所以会产生多个电梯去强一个请求的情况导致cpu超时,

转载于:https://www.cnblogs.com/zh981008/p/10758714.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值