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

  • BUAA-OO-Unit2 总结与反思

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

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

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

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

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

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

    第二单元博客作业——电梯月 第五次作业 这次的作业为多部多线程ALS电梯,每个人只能在同一座做纵向运动。但这个多部是一个伪多部。因为它对应的是A-E座的各个电梯,每个电梯之间相互独立,不全在交互,完全等价,就是同一座电梯复制5次罢了。 作业思路 这是第一次接触多线程,在写代码和调试的时候也是遭受到了
    logiclee0902   2022-05-02 13:58   0   29
  • BUAA_OO_第二单元总结

    #BUAA_OO_第二单元总结 第二单元主要实现电梯的调度问题。主要为了实现单部电梯、多部电梯、横纵向电梯的调度。 ##第一次作业 ###作业要求 第一次作业要求完成纵向电梯第调度问题。五个楼座各配置一部具有一至十层移动能力的电梯。电梯具有固定的移动速度、开关门速度和承载量。 ###代码分析 类图
    吴伟泽   2022-05-02 12:40   0   22