-
BUAA_OO_Unit2_多线程
OO_Unit2_多线程 一、同步块 与 锁 在本次实验中,仅使用了如下两种形式进行同步: //format 1 synchronized (lock) { // code block } //format 2 try { lock.wait(); } catch (InterruptedExcep -
BUAA-OO-第二单元总结
一、需求分析 第一次作业: 模拟一个多线程实时电梯系统,有A-E五个楼座,每个楼座一部电梯,乘客输入电梯请求,电梯需要在规定时间内按照规则完成这些请求。 第二次作业: 引入横向电梯和纵向电梯的分类,从而有电梯请求的不同,新增增加电梯请求。 第三次作业: 电梯属性可配置,电梯到达位置可配置,电梯请求的 -
BUAA_OO_U2_Summary
BUAA_OO_U2_Summary 由于本人废话比较多,所以提供一个目录 BUAA_OO_U2_Summary一 / 架构设计1.0> 题目解析1.1> HW51.1.1> 做法分析1.1.2> 获取请求1.1.3> 请求分配1.1.4> 电梯调度1.1.5> 托盘(缓冲区)1.1.6> 输出1. -
BUAA_2022_OO第二单元总结
BUAA OO第二单元总结 O.写在前面 再次恭喜自己又度过了一个OO单元。虽然由于各种各样的失误,本单元的作业成绩不是很理想,但毕竟没有出现无效作业的情况~~,还是守住了底线~~,表明自己是有用心去做的。对成绩的影响不可避免,不过认真分析一下自己的开发经历,总归是能够有所收获的。 本文将从 -
2022年北航OO第二单元总结
2022年北航OO第二单元总结 一至三次作业总结 1. 第一次作业 1.1 需求分析 本次作业要求我们能够在ABCDE五栋大楼中让乘客从出发位置到达目标位置,指导书推荐使用ALS算法,需要使用多线程进行实现。 1.2 实现方案 这次作业是第一次接触到多线程的知识,也是这个单元我认为最痛苦的一次作业, -
2020级北航OO第二单元作业总结
一、总体思路与架构 本单元主要实现的是一个多线程电梯调度程序。其中最重要的是对锁、同步块以及生产者与消费者模型、流水线模型的理解。在做第五次作业的过程中,为了更好地理解整体架构与实现过程,于是,我画了一个比较具象的图(仅对应于我的第五次作业代码,不适用于第六次、第七次作业): 可以从上面的图中看出我 -
第二单元总结性博客作业
第二单元总结性博客作业 架构设计 第一、二次作业 设计WaitingQueue类(等待队列)、Scheduler类(调度器)、Elevator类(电梯)、SafeOutput类(阻塞输出)。 第三次作业 由于换乘复杂,单层调度器不能满足第三次作业的需求了,设计主调度器和次级调度器。 还建立了Part -
OO Unit2 Elevator Scheduling
OO Unit2 Elevator Scheduling 本单元三次作业架构相似,整体采用生产者消费者模型,这种设计模式服务于本次作业三个主要特点:支持并发、输入输出解耦合、线程安全易保证。 支持并发:多线程的优势在于并发提升运算效率,当涉及到多任务处理时,通常可以将主要部分使用多个线程,配以互斥锁 -
buaa_oo_第二单元总结
第一次作业 架构模式: 第一次作业只涉及每个楼座的一部电梯,不涉及横向电梯及换乘等,逻辑较简单。在架构上建立了Inputhandler类来处理输入请求,将请求加入同步队列waitQuene中;调度器设计:在课程组的强调和往届经验指导下,加入了Schedule控制器线程类,Schedule与Input -
OO第二单元总结
OO第二单元总结博客 第五次作业 (1)设计策略 第五次作业的目标是在五栋楼内分别实现一部可纵向运输乘客的电梯,主要考察关于线程的创建、运行等基本操作以及可能会出现的多线程安全问题。考虑到之后作业可能会进行的拓展,在本次作业中我除了实现输入、电梯线程之外,还加入了调度器线程,但调度器线程的实现比