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

  • 面向对象第二单元总结回顾

    面向对象第二单元总结回顾 一、写在前面 本单元要求使用多线程实现电梯调度,响应乘客的移动请求。 基于五楼座-十楼层的场景,在三次迭代开发中,电梯系统逐渐能完成:接送上下移动的乘客、接送横向移动的乘客、接送任意移动的乘客、动态增加电梯、定制电梯等功能。 本单元的核心是多线程,输入输出、电梯调度和电梯运
    深夜竞走的KFC   2022-04-30 12:32   1   37
  • BUAA面向对象2022第二单元总结

    ​ BUAA面向对象2022第二单元总结 ​ 总览 作业内容 本单元的主要作业内容为电梯调度,共有3次作业,为迭代开发。 第一次作业为纵向电梯调度。 第二次作业增加了横向电梯,但乘客均能一次到达目的地。 第三次作业加入需要换乘的乘客请求。 完成情况 我采用了生产者-消费者模式,通过调度器向各个电梯分
    我没有名称   2022-04-30 12:22   1   55
  • 北航oo第二单元博客作业

    北航oo第二单元总结 同步块的设置和锁的选择 在三次作业中,我都是使用了synchronized同步块,并且我对共享对象的方法均进行了同步,这种做法的好处比较简单,同时也能够避免线程安全的问题,保证线程安全。但这样自然也会使得程序的运行比较缓慢,有较大提升的空间。以下是共享对象中上锁的方法: pub
    瓜子猫   2022-04-30 12:22   1   65
  • BUAA-OO第二单元总结

    1、总述 ​ 第二单元我们学习了 java 多线程,通过模拟多线程实时电梯系统,掌握了线程之间的交互、多线程中可能存在的线程安全问题以及生产者-消费者、单例模式、观察者模式、流水线模式等多线程协同的设计模式,在三次作业的迭代过程中不断强化线程之间的协同设计层次架构。 2、电梯调度设计 ​ 三次作业都
    wwllll   2022-04-30 12:14   0   59
  • BUAA-OO-Unit2-单元总结

    BUAA-OO-Unit2-单元总结 一、锁与同步块 关于线程安全问题,我在第五次作业的时候就已经想好怎么进行处理了。以至于第六、七次作业中并没有对线程安全以及同步块进行过多的考虑。 1、线程选择 首先需要考虑,为什么我们需要线程?我最后再三考虑。需要多线程是为了提高我们程序的运行效率,而运行慢的线
    CoolColoury   2022-04-30 11:48   1   40
  • BUAA-OO第二单元总结

    面向对象设计构造第二单元作业 ​ 李依隆20373457 ​ 目录 面向对象设计构造第二单元作业 1.单元介绍与整体认识 (1)单元介绍 (2)整体认识 生产者-消费者模式 (3)整体架构 作业思路简介 (4)电梯设计思路 (5)迭代情况 hw06迭代设计 第二周作业迭代需求 第二周修改条目 针对横
    moonlander   2022-04-30 11:32   1   136
  • OO_Lab1总结博客

    OO_Lab1 问题描述 模拟多线程实时电梯系统,新主楼ABCDE五个楼座各楼层均有电梯,乘客发起形如“从X座x层到Y座y层”的请求,电梯模拟上下行、开关门、乘客进出等行为,以满足所有乘客的要求。 解决思路 各个电梯无论是具体行为还是调度请求都相互独立,因此可以采用多线程的设计思想,每个电梯建立一个
    15101051   2022-04-30 10:47   1   36
  • 「BUAA OO」第二单元总结

    「BUAA OO」第二单元总结 零、任务简介 本单元要求建立一个多线程的电梯运行系统,实现对乘客的接送运载(并随时输出电梯运行信息以供评测机检查) 第一次作业,A、B、C、D、E座各有一个纵向电梯,乘客的输入请求被限制在上下行 第二次作业,增加了现实中比较少见的横向电梯(如 10L 的横向电梯可以在
    郑星宇   2022-04-30 10:15   0   101
  • BUAA-OO Unit2单元总结

    目录 BUAA-OO Unit2单元总结 第一次作业 作业简介 总体架构 同步块和锁 调度器设计 bug分析 作业简介: 模拟单部多线程电梯的运行,多楼座均只有一部电梯。 总体架构: Main类负责所有线程的创建和开启;InputThread线程负责读入数据并将请求放入总等待队列(waitQueue
    海鸥海鸥好朋友   2022-04-30 09:54   0   85
  • BUAA-OO-U2-电梯

    一、总论 1.1 直观理解 ​ Unit2 的问题以电梯作为题目背景出题,刚做题的时候很容易就把这个单元的任务当成了处理多线程,当我全部完成这些作业以后,发现仅仅将 U2 概括为多线程,是一个十分片面的直观理解。 ​ 我觉得应该这么理解,U2 要完成的东西有(当然可以不完成): 多线程设计:这比原来
    Thysrael   2022-04-30 08:42   0   228