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

  • BUAA面向对象课程博客 第2弹:简单电梯调度系统

    #1 概述 本单元我基于Java完成了一套多线程电梯运行与调度模拟系统。本文中我将按本单元3次作业的迭代顺序,总结我的设计思路与关键实现细节。通过本文,你可以了解到: 简单的Java多线程设计模式 多线程程序的增量开发方法 #2 作业回顾 ##2.1 第一次作业 本单元实现了北航新主楼A-E座共享输
    ^^^TOO_LOW^^^   2022-05-01 15:05   0   139
  • OO第二单元总结

    一、同步块的设置 在第二单元的作业中,我只使用了同步块的设置,没有使用读写锁,因此仅就同步块这一方面来介绍我三次作业的设计。从第一次作业初上手多线程,对于synchronized懵懵懂懂、看wait/notify晕头转向,到第三次作业已经摸清了这些关键字、内置方法的机理,能够肉眼分析出轮询的bug,
    hua-0x522   2022-05-01 14:54   0   43
  • OO-2022-Unit2-BeihangCSE

    OO第二单元 一、同步锁的设置和锁的选择 本单元中同步锁我主要选择了sychronized关键字 + wait() notifyAll的方式设置同步块 在程序中,RequestQueue是最主要的共享数据 public class RequestQueue { private ArrayList<P
    Danny121008   2022-05-01 14:52   1   33
  • 20373222李世昱第二单元总结

    第二单元博客总结 第五次作业UML类图和时序图如下: 由于第五次作业整体比较简单,该次作业并无过多迭代性考虑,采用的是标准的生产者消费者模式,INPUT线程不断读入新的数据发送给调度器,调度器把符合对应楼座的请求发送给对应的电梯,剩下的交给电梯自己不断处理。 同步性控制:第五次作业共享数据比较少,所
    zdfwqc   2022-05-01 14:17   0   21
  • BUAA OO 2022 第二单元

    ↓ gitPage 博客链接: https://mmmusel.github.io/2022/05/01/OO-Unit2-summary/ 一、电梯的调度策略 1.1 状态转移图 1.2 纵向电梯的LOOK算法 LOOK算法实现 与真实的电梯大致相同的策略,即维护电梯当前运行方向dir,更远层无请
    Mmmusel   2022-05-01 11:12   0   59
  • OO 第二单元博客作业

    OO 第二单元博客作业 第一次作业 题目简述 用多线程实现一个目的选择电梯系统。其中共有五部独立的纵向电梯,请求的出发点和目标点必定位于同一楼座 UML图 架构分析:由于本次作业请求类型单一,且电梯数目确定,未使用调度器处理请求 MainClass:负责电梯的创建和输入线程的启动 InputThre
    WassuhJ   2022-05-01 10:41   0   51
  • BUAA-OO-UNIT2-Elevator

    第一次作业: 同步块设置与锁的选择: 第一次作业相对比较简单,需要实现一个纵向的电梯调度问题。 我将电梯和输入请求都当作线程进行处理,将请求队列作为中间的交互通道,将请求队列中的增加请求、得到请求等操作加锁。这样就可以实现线程安全的交互。 调度器设置: 第一次作业由于只有直上直下的请求,所以调度相对
    Satom1shihara   2022-05-01 10:19   1   41
  • 北航2022OO第二单元博客作业

    概述 本单元电梯作业,主要加深我们对多线程编程的认知,使我们掌握一些多线程编程的技巧。采用的电梯形式确实很好地展现了多线程常见的错误,充分锻炼了我们多线程设计的能力。 个人架构设计分析 第五次作业 UML类图 顺序图 分析 我的设计是,电梯自行检查等待队列,自行决定如何运行(开关门、上下行等)。而在
    20373715WYJ   2022-05-01 02:05   3   60
  • BUAA-oo-第二单元总结

    一、整体思路总结 要求分析 ​ 本单元的三次作业从简单到复杂,最终实现了一个具有横向和纵向两种电梯,具有换乘功能和动态增加电梯的电梯调度设计。 ​ 在第一次作业中,只有简单的纵向电梯,并且不支持动态增加电梯,最需要注意的是搭建好一个架构,并且注意线程安全问题。 ​ 第二次作业中,增加了横向电梯,支持
    银雪影寒   2022-05-01 01:16   1   40
  • 2022北航面向对象第二次作业分享及总结

    本次作业由三次子任务组成,从3月28号开始,迭代开发,实现了一个多线程实时电梯系统。本次项目是笔者第一次接触多线程开发,在迭代过程中逐步熟悉了多线程的设计方法。本文将会主要从架构设计、线程安全以及策略问题三方面进行分析总结。
    Chenkit^^   2022-05-01 00:56   0   133