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

  • OO-第二单元总结

    设计分析 OO课程的第二单元作业以多线程设计为核心,主要内容是设计一个支持及时请求响应的多部电梯系统。 同步块与锁的选择 在多线程设计过程中,最为重要的就是线程协作过程中安全性的保证。多个线程之间一定存在着信息的交互,交互就意味着存在着某些共享的数据对象。然而由于线程的调度本身是由JVM进行管理的,
    scrail   2022-05-04 14:12   0   17
  • BUAA_OO_第二单元作业总结

    BUAA_OO_第二单元作业总结 总体概述 ​ 本单元的主要任务是模拟多线程实时电梯系统,经过三次作业迭代开发出一个包含横向电梯与纵向电梯,可以实时添加乘客与电梯,根据乘客的出发地与目的地选择合适的路线来运送乘客的电梯系统。在开发过程中熟悉线程的创建、运行等基本操作,熟悉多线程的设计方法,掌握线程安
    silhouette-   2022-05-04 14:11   0   11
  • 第二单元实验总结 | TrickEye

    第二单元实验总结 | TrickEye 基本情况部分 这篇帖子为什么会在这? 这是北航计算机学院面向对象构造与设计2022春季课程第二单元的总结博客 本次作业的要求是什么? 模拟一种强制在线的目的选层电梯的调度,有必要优化其性能 电梯支持横向运行,支持热添加,支持自定义可达性 架构篇:个人代码结构分
    TrickEye   2022-05-04 13:23   0   23
  • oo第二单元总结

    oo第二单元总结 第一次作业 同步 第一次作业中只有请求队列Queue共享给InputThread和Building两个线程,使用最简单的synchronized进行同步。 调度器 第一次作业独立出了调度器,采用Look策略,通过共享elevator和queue实例与线程交互。 架构 Bug 错误理
    后玉洲   2022-05-04 12:47   0   16
  • OO第二单元总结

    OO电梯单元回顾 HW5 直接上图! UML 协作图 可以看出,这次作业的架构非常清晰易懂,调度策略方面一开始使用的是ALS,后来用的是look,这也导致了我写的look策略中有颇有ALS的遗风。。。。 同步块的设置和锁的选择 使用synchronized方法将Scheduler中的方法锁住,防止出
    theSerein   2022-05-04 12:46   0   7
  • OO第二单元作业反思

    OO第二单元总结 第五次作业 锁和同步块 此次作业中采用了线程安全容器——ArrayBlockingQueue作为请求的存储容器。 ArrayBlockingQueue有以下两个方法: take():取走 BlockingQueue 里排在首位的对象,若 BlockingQueue 为空,阻断进入等
    ~小~禾~   2022-05-04 10:49   0   26
  • OO第二单元总结

    OO第二单元总结 作业综述 本单元的训练主要目的是目标是模拟多线程实时电梯系统,熟悉线程的创建、运行等基本操作。作业的核心内容为实现一个多线程的目的选择电梯调度控制系统,并要求按固定格式输出电梯运行过程中电梯到达楼层和开关门的信息以及乘客进出电梯的信息。其中,第一次仅有 纵向电梯,第二次增加了横向电
    百觅   2022-05-04 10:40   0   11
  • OO 第二单元总结

    OO 第二单元总结 一、作业架构设计与分析 1、homework5 1.1 UML 类图 1.2 UML 协作图 1.3 架构设计 请求处理方式 在此次作业中我采用了生产者消费者模式,InputThread 线程获取输入请求,再通过 NewMainBuilding 线程分发给各个楼座(SubBuil
    wphos   2022-05-04 09:51   0   14
  • BUAA_OO_Unit2 总结

    电梯单元总结 锁与同步 锁的选择 第一次作业中,由于对锁与同步的陌生,我选择了最简单的实现方式:在线程中,只要遇到读写共享对象的情况,就将这段读写代码放在同步块中,比如 public class Elevator extends Thread { ... private void look() {
    Disorientation   2022-05-04 09:44   0   10
  • OO 第二单元总结

    OO 第二单元总结 1作业综述 本单元作业共计三次,核心内容为迭代开发java程序模拟电梯的运行,要求按固定格式输出电梯运行过程中电梯到达楼层和开关门的信息以及乘客进出电梯的信息。其中,第一次仅仅有5个纵向电梯,第二次在第一次的基础上增加了横向电梯,并且允许动态增加电梯数量,但是乘客只会请求乘坐纵向
    cfmcyl1024   2022-05-04 03:36   0   51