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

  • BUAA_OO第二单元总结

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

    单元总览 本单元我们学习了Java多线程。通过电梯这一现实情景,体会了如何利用多线程机制完成多个并发任务以提高CPU利用率;对于线程安全有了一定概念,在实践中认识到多线程使用共享数据会面临的数据安全问题,并学会了使用同步块和锁来设计线程安全的程序。 与此同时,我们还学习并实现了生产者-消费者模型、单
    seeeagull   2022-04-27 22:40   2   124
  • OO_UNIT_2 总结

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

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

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

    OO第二单元作业——电梯系统调度 一、总体设计架构 OO课程第二单元的主题为电梯系统的设计。这个电梯系统包含了A,B,C,D,E五个楼座和1~10十个楼层。对于每一位请求乘坐电梯的乘客,需要有电梯将该乘客从其出发地点运送到目的地。由于多部电梯在同时运行,我们需要采用多线程的编程模式来设计电梯调度系统
    梁绪宁   2022-04-27 20:40   2   79
  • BUAA-OO-第二单元总结

    北航计算机学院面向对象第二单元总结 一、第一次作业总结 UML类关系图 UML类协作图 同步块的设置和锁的选择 第一次作业架构简单,采用两级生产者-消费者模式,其一为Input-Dispatcher组合,其二为Dispatcher-Elevator组合。因此涉及到的共享数据只有两个组合分别共用的托盘
    Kazeya_y   2022-04-27 20:07   2   19
  • OO第二单元实验总结报告

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

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

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