面向对象设计与构造2022 (北京航空航天大学 - 计算机学院)

  • OO第二单元总结

    #多线程实时电梯系统 第一次作业 ##架构 ###InputThread 处理输入的线程 当收到的personrequest是null时,代表用户已经输入了^D,此时将五座大楼的等待序列设置finished并通知每座大楼,唤醒正在wait的线程。 若收到的request不是null,将会找到对应bu
    peaceminuczy   2022-04-29 10:56   0   58
  • OO2022第二单元总结

    OO2022第二单元总结 本单元内容是电调调度与多线程,因为之前完全没有真正上手写过多线程程序,所以相比第一单元对我而言相对熟悉的内容,完成第二单元需要更多的思考。 在代码的架构设计上,使用了最基本的生产者-消费者模式,简而言之就是一个线程解析请求,然后分发到各个电梯的请求队列。 第一二次作业请求解
    aaicy64   2022-04-28 20:58   0   14
  • BUAA_OO第二单元总结

    第二单元作业总结 一、整体架构设计 (注:输出类仅仅是对原有输出方法进行了封装,以下未单独列出。) 1.1 第一次作业 本次作业参考了实验课上的架构: 主线程main设置初始变量、创建类、启动线程。 输入线程input专门处理输入请求,并将该请求传入主调度类。 主调度线程schedule处理来自输入
    DreamWave   2022-04-27 22:56   0   27
  • OO_UNIT_2 总结

    OO_UNIT_2 总结 HW5 需求分析 实现基本的电梯运行模拟,电梯种类单一(有且仅有纵向电梯),速度统一,载客容量统一,不可新增电梯;乘客需求,局限于同一楼座不同楼层,不存在跨楼座需求。 架构设计 1.乘客:Passenger // 乘客id private Integer id; // 乘客
    不怕事学渣扛把子势力   2022-04-27 22:17   0   22
  • BUAA OO第二次作业总结

    OO第二单元总结 概况 第二单元的主要任务是模拟多线程实时电梯系统,第一次作业中,各个电梯之间没有任何联系。而在第二次作业和第三次作业中,由于我采用的是自由竞争策略,相同类型的电梯之间需要共享同一个候程队列,故各个电梯线程之间增加了协同处理关系。在第二次作业在第一次的基础之上中增加了横向电梯,故我们
    郑凯荠   2022-04-27 21:37   0   24
  • BUAA_OO 第二单元总结——电梯

    前言 第二单元的主要内容是多线程电梯的搭建,难度不大,关键在于对于多线程的理解以及对锁synchronize的使用上要多加注意。加锁这块还是很有意思的,我在第三次作业加锁那部分卡了很久,才明白了锁怎么加的。 第二次作业的代码量以及难度无疑小了很多,这单元的第一次作业(164行)写完了之后回顾上一的第
    wpy的小黑屋   2022-04-27 21:35   0   23
  • OO第二单元实验总结报告

    一. 同步块与锁 在本人的架构当中,共享对象是Controller,或者更准确的来说,是其中的waitQueue。在输入线程requestInput向其中添加请求,而Controller通过计算将相应的请求分发给Elevator。在这个过程中涉及到了对waitQueue的添加、遍历与删除,所以对它的
    godel_bach   2022-04-27 19:41   0   27
  • BUAA OO 第二单元作业总结

    BUAA OO 第二单元作业总结 一、题目简介 此单元作业为模拟多线程实时电梯系统,第五次作业为模拟各楼座的纵向电梯,第六次作业模拟纵向和横向电梯,第七次作业增加乘客的换乘请求 二、架构模式 (一)第五次作业 各个类如下所示: |- MainClass:主类 |- Controller:电梯管理器,
    OutlierXv   2022-04-27 19:14   0   28
  • OO_U2总结

    OO_U2总结 一、简介 本单元三个任务为电梯调度与迭代升级。第一个任务是简单的纵向电梯,每栋楼一座纵向电梯,载人数固定,速度固定,可以简单分解为五个电梯线程与一个生产者线程。第二次任务新增横向电梯,并且保证没有换乘且必定有电梯存在才会有请求。第三次任务为换乘处理,且可能出现多次换乘,调度器的必要性
    Maryin-c   2022-04-27 18:01   0   15
  • BUAA OO 2022 第二单元总结

    OO第二单元总结 1. 第一次作业 1.1 需求分析: 需求: A-E五栋楼中初始均有一部电梯,可达1-10楼,乘客不许跨楼座。 要求使用wait,notifyAll的形式控制电梯 整体设计: 参考实验1中的代码进行设计,实验一中代码过多的无意义notifyAll()也成功在作业2中狠狠坑了我一把.
    IIlIllIIlII   2022-04-27 16:48   0   24