结对项目——电梯调度(2)
by 潘 and 曹
Part0 前言
上一篇博客我们已经讲了类和接口定义、电梯驱动函数的实现,在本篇博客我们将主要讲述电梯调度算法中效率最为低下的bus调度算法和项目的UI界面设计。
Part1 Bus调度算法
Bus调度算法是一个模仿公交车运行的调度算法,该算法的思想是,将电梯视为公交车,无论该楼层有没有乘客想要下电梯或者该楼层有没有乘客想要上电梯,只要电梯可以达到该楼层,电梯都将开门,然后关门,继续往上走,当到达最高楼层后,再向下运行。
在实现过程中,我们将创建四个线程,进行多线程并行,但这四个线程共享几个参数upFlag[]
,downFlag[]
等,保证电梯可以再并行过程中只接一次人——这里并不是说电梯整个过程中只接人一次,而是说一个人只会被一个电梯接到,不会同时进入多个电梯。
Part2 UI界面
UI界面无论怎么说都说不清楚,直接上图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OaMXmepy-1612687871637)(img\UI.jpg)]
我们在实现UI界面时,模仿是现实生活中电梯运行的情况,设计了每个电梯内部的目标楼层的按钮,用C#的Button实现,设计了电梯外部请求电梯的向上或者向下,用C#的Button实现,此外我们觉得光有这些我们日