首页 > TAG信息列表 > WaitQueue

第三单元博客总结

第三单元总结性博客作业 一、测试部分 测试数据的准备 对于这次的作业,我们可以根据JML规格的描述来构造测试数据,对每一个方法做出专门的测试。任何一个方法的JML规格都是由requires,assignable,ensures三部分组成,对于有不同情况需要有不同操作的方法,会有多个requires(also),assign

『BUAA-OO-Unit2-Summary』

『BUAA-OO-Unit2-Summary』 Homework5 0. 写在前面 由于没有看清DDL,导致本次作业卡点提交未能成功通过。(悲) 作为多线程编程的初学者,我认为本次作业的难点有三: wait()/notify()的使用; 共享对象类的构造; 调度策略的代码实现; 接下来,我将对本次作业的实现过程进行一个大致的复现,并对

oo第二单元总结

目录oo第二单元总结PART 1 同步块构造与选择PART 2 调度器设计PART 3 三次作业架构分析PART 4 自我分析bug策略PART 5 感想与体会 oo第二单元总结 PART 1 同步块构造与选择 ​ 本单元我们进入了多线程的世界,最重要的一个概念的就是同步锁,本单元作业均选取了synchronized锁,最开

BUAA_OO_2021_ 第二单元 - 难度巅峰之多线程电梯

BUAA_OO_2021_ 第二单元 - 难度巅峰之多线程电梯 写在前面 早就耳闻了面向对象课程第二单元的难度,在面临一个全新的领域——多线程时,或多或少都会手足无措吧。对于一个普普通通的计算机专业的学生来说,没有大佬们对于代码强大的理解与拓展能力,只能看着入门教程一点点自学,十分痛苦。

BUAA OO unit_2

二单元博客作业 (1)总结分析三次作业中同步块的设置和锁的选择,并分析锁与同步块中处理语句直接的关系 第五次作业 调度策略:用集中式架构调度一台电梯 共享资源:总的请求队列waitQueue、电梯处理请求队列RunQueue 改写waitQueue:Scheduler、InputThread、 读waitQueue状态

OO第二单元总结

同步块的设置和锁的选择 在三次的作业中,我都是选择共享变量waitQueue作为锁。对于需要读取或写waitQueue的语句块,我们需要在其外面加锁。以下以第一次作业为例进行分析。 例1: synchronized (waitQueue) { if (end && passenger.isEmpty() && waitQueue.isEmpty())

2021 OO第二单元总结(多线程电梯)

2021 OO第二单元总结(多线程电梯) 一、同步块的设置和锁的选择 第五次作业 在本次作业中,我在共享对象WaitQueue里面使用了synchronized块。将其自身对WaitQueue操作的方法块都加了synchronized锁。WaitQueue是储存还未处理的乘客请求的一个类,InputDevice和Elevator类均会向它增加/

BUAA OO 第二单元

BUAA OO 第二单元总结 线程架构 以下为各个线程类的作用及含义: 类名含义 inputThread 输入线程,将输入乘客加入waitQueue schedulerThread 调度线程,通过调度策略,将waitQueue分配到多个processQueue中 elevatorThread 处理processQueue,若支持换乘,则将需要换乘的乘客加入wai