-
BUAA_OO_Unit2_多线程
OO_Unit2_多线程 一、同步块 与 锁 在本次实验中,仅使用了如下两种形式进行同步: //format 1 synchronized (lock) { // code block } //format 2 try { lock.wait(); } catch (InterruptedExcep -
BUAA-OO-第二单元总结
一、需求分析 第一次作业: 模拟一个多线程实时电梯系统,有A-E五个楼座,每个楼座一部电梯,乘客输入电梯请求,电梯需要在规定时间内按照规则完成这些请求。 第二次作业: 引入横向电梯和纵向电梯的分类,从而有电梯请求的不同,新增增加电梯请求。 第三次作业: 电梯属性可配置,电梯到达位置可配置,电梯请求的 -
2022年北航OO第二单元总结
2022年北航OO第二单元总结 一至三次作业总结 1. 第一次作业 1.1 需求分析 本次作业要求我们能够在ABCDE五栋大楼中让乘客从出发位置到达目标位置,指导书推荐使用ALS算法,需要使用多线程进行实现。 1.2 实现方案 这次作业是第一次接触到多线程的知识,也是这个单元我认为最痛苦的一次作业, -
buaa_oo_第二单元总结
第一次作业 架构模式: 第一次作业只涉及每个楼座的一部电梯,不涉及横向电梯及换乘等,逻辑较简单。在架构上建立了Inputhandler类来处理输入请求,将请求加入同步队列waitQuene中;调度器设计:在课程组的强调和往届经验指导下,加入了Schedule控制器线程类,Schedule与Input -
OO第二单元总结
OO第二单元总结博客 第五次作业 (1)设计策略 第五次作业的目标是在五栋楼内分别实现一部可纵向运输乘客的电梯,主要考察关于线程的创建、运行等基本操作以及可能会出现的多线程安全问题。考虑到之后作业可能会进行的拓展,在本次作业中我除了实现输入、电梯线程之外,还加入了调度器线程,但调度器线程的实现比 -
BUAA_OO_2022第二单元总结
一、作业分析 本单元作业的目标是模拟多线程实时电梯系统。 第五次作业 A-E座每层单部电梯,电梯可以在1-10层运行。 1.总体架构设计 本次作业设置了总共4个线程类,分别为主线程,输入线程,调度器线程和电梯线程。由于每座单部电梯,调度器的设计较为简单,无特殊调度策略。电梯调度使用LOOK策略,策略 -
面向对象设计与构造2022第二单元总结
第二单元博客作业 一、总结分析三次作业中同步块的设置和锁的选择,并分析锁与同步块中处理语句之间的关系 对多线程的学习理解中,我认为锁与线程之间的最为重要的关系就是: 线程因共享对象被其他线程掌控而被阻塞,线程主动放弃共享对象的掌控权而wait,线程因共享对象被其他线程释放而唤醒 所以,共享对 -
BUAA-OO-U2-Summary
BUAA-OO-U2-Summary 1 问题描述 本单元任务主要是实现一个多线程的电梯调度系统。 实际场景是BUAA新主楼的 A B C D E 五个座,每个座均有10层,楼座按顺序构成一个环; 其间存在两种电梯:横向(同一层,不同座间移动) 和 纵向(同一座,不同层间移动),电梯的移动速度,载客 -
OO第二单元总结
第五次作业分析 第五次作业是多线程单元的第一次作业,总体难度不大,对多线程的使用要求也较低,我们只需要设计一个输入线程,分发线程(scheduler),和电梯线程即可完成任务。 而为了能够使三者配合起来完成任务,我们需要利用到一个请求队列作为共享对象。基本思路是一个电梯对应的一个他需要处理的队列,电 -
BUAA_OO_2022 Unit2 总结
BUAA_OO_2022 Unit2 总结 单元总览 本单元的主题是多线程,基于真实的电梯调度场景,学习了基于线程、共享、交互的面向并发和协同抽象的层次设计结构,重点关注并发行为的安全和效率。 此外,我们还学习并实现了生产者-消费者模型、单例模式、黑板模式、流水线模式等,对于面向对象的设计模式有了更