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

  • OO第二单元总结

    第二单元总结 锁和同步块 主要利用了synchronized锁和Controller调度器解决线程数据冲突问题. 本次作业由于直接将人分配到楼座且一个楼座仅有一个电梯就无需考虑删除人时的读写冲突. 调度器设计 controller内部掌管NewMainBuiding类包含了所有楼座的信息,通过get
    爱学习的拾柒   2022-05-02 23:18   0   18
  • BUAA_2022_OO_Unit2_Summary

    BUAA_2022_OO_Unit2_Summary 大梦谁先觉,平生我自知。 第一章 基本架构 第一次作业架构分析 总体设计 我的第一次作业架构主要包括输入类(InputThread),总调度器(Schedule),电梯类(Elevator),候乘类(RequestQueue),输出类(MyOut
    `Demon   2022-05-02 23:04   0   52
  • BUAA-OO-Unit2 总结与反思

    第五次作业 代码架构 我的代码种设计了两类线程,电梯线程Elevator和输入线程InputThread 每个电梯线程与输入线程之间有独立的共享对象RequestQueue,从而避免两个线程之间直接交互造成线程安全问题 输入线程与等待队列之间采用观察者模式,输入线程作为被观察者,等待队列为观察者,接
    FlyingAns   2022-05-02 18:40   0   56
  • OO第二单元总结

    OO第二单元总结 同步块与锁 多线程编程目的是为了加快程序运行速度,线程之间会共享资源,由此自然而然会产生类似于计组流水线CPU中读写不一致的问题,故必须要正确地加锁。 通过阅读训练教程和相关资料,了解到了原子操作的概念以及各种加锁的方法。虽然有更高级的条件锁以及读写锁等等,但它们对于电梯作业性能的
    继续宠爱   2022-05-02 18:37   0   101
  • OO第二单元心得感想

    第二单元博客 目录 一、同步块与锁 1.1 同时读/写 1.2 输出 1.3 流水线架构模式 二、调度器设计 2.1 第五次作业 2.2 第六次作业 2.3 第七次作业 三、架构模式 3.1 设计模式 3.1.1 生产者-消费者模式 3.1.2 master-slave模式 3.1.3 流水线模式
    普通桑   2022-05-02 18:21   0   8
  • 面向对象程序设计第二单元总结

    OO 第二单元总结 一、同步块的设置和锁的选择 第五次作业 在第五次作业中,我编写了一个RequestQueue 类。这个类作为调度器和电梯线程之间的桥梁:调度器Scheduler 可以向这个类中传入请求(用Req类表示,下面相同),而电梯线程类也可以从每个线程自身的请求队列中读取请求并进行处理。
    RuiLinWho   2022-05-02 17:15   0   27
  • OO第二单元总结

    一、同步块的设置和锁的选择 设置同步块其实只需要搞清楚哪些资源需要共享即可。我在三次作业设置的共享资源具有同一性,均为输入类Input与调度器类Schedule之间共享的待调度请求队列waitQueue、Schedule类与电梯类Elevator之间的待处理队列processingQueue以及整个
    鹏程万里orz   2022-05-02 17:08   0   30
  • OO_Unit2_单元总结

    OO_Unit2_单元总结 Part0 综述 本单元三次电梯作业依然是在逐次迭代的基础上进行开发的。其中第一次作业要求我们实现一个每座只有一个纵向电梯,无新增加电梯的请求并且乘客的请求仅限于同楼座不同楼层的电梯系统。第二次作业相较于第一次作业添加了横向电梯的概念,并且可以通过请求增加横向电梯或者纵向
    Selabarsayes   2022-05-02 16:51   0   52
  • OO第二单元-多线程

    考虑到三次作业的迭代性,我将详细的文件结构、度量分析、UML协作图等都放在了task3的部分里,前两次就简单略过了。 task1 初识多线程时的个人思考 线程涉及 获取输入的线程:new Thread(new MyInput(sceduler)) 调度器线程:new Thread(scheduler
    wlc000   2022-05-02 16:15   0   27
  • BUAA-OO-2022-Unit2

    面向对象设计与构造2022第二单元总结 零、任务简介 模拟一个多线程实时电梯系统。 系统基于一个类似北京航空航天大学新主楼的大楼,大楼有 A,B,C,D,E 五个座,每个楼座有对应的一台电梯,可以在楼座内 1-10 层之间运行。 系统从标准输入中输入请求信息,程序进行接收和处理,模拟电梯运行,将必要
    wsmitpwtind   2022-05-02 15:39   0   36