-
面向对象第二单元总结回顾
面向对象第二单元总结回顾 一、写在前面 本单元要求使用多线程实现电梯调度,响应乘客的移动请求。 基于五楼座-十楼层的场景,在三次迭代开发中,电梯系统逐渐能完成:接送上下移动的乘客、接送横向移动的乘客、接送任意移动的乘客、动态增加电梯、定制电梯等功能。 本单元的核心是多线程,输入输出、电梯调度和电梯运 -
BUAA面向对象2022第二单元总结
BUAA面向对象2022第二单元总结 总览 作业内容 本单元的主要作业内容为电梯调度,共有3次作业,为迭代开发。 第一次作业为纵向电梯调度。 第二次作业增加了横向电梯,但乘客均能一次到达目的地。 第三次作业加入需要换乘的乘客请求。 完成情况 我采用了生产者-消费者模式,通过调度器向各个电梯分 -
北航oo第二单元博客作业
北航oo第二单元总结 同步块的设置和锁的选择 在三次作业中,我都是使用了synchronized同步块,并且我对共享对象的方法均进行了同步,这种做法的好处比较简单,同时也能够避免线程安全的问题,保证线程安全。但这样自然也会使得程序的运行比较缓慢,有较大提升的空间。以下是共享对象中上锁的方法: pub -
BUAA-OO第二单元总结
1、总述 第二单元我们学习了 java 多线程,通过模拟多线程实时电梯系统,掌握了线程之间的交互、多线程中可能存在的线程安全问题以及生产者-消费者、单例模式、观察者模式、流水线模式等多线程协同的设计模式,在三次作业的迭代过程中不断强化线程之间的协同设计层次架构。 2、电梯调度设计 三次作业都 -
BUAA-OO-Unit2-单元总结
BUAA-OO-Unit2-单元总结 一、锁与同步块 关于线程安全问题,我在第五次作业的时候就已经想好怎么进行处理了。以至于第六、七次作业中并没有对线程安全以及同步块进行过多的考虑。 1、线程选择 首先需要考虑,为什么我们需要线程?我最后再三考虑。需要多线程是为了提高我们程序的运行效率,而运行慢的线 -
BUAA-OO第二单元总结
面向对象设计构造第二单元作业 李依隆20373457 目录 面向对象设计构造第二单元作业 1.单元介绍与整体认识 (1)单元介绍 (2)整体认识 生产者-消费者模式 (3)整体架构 作业思路简介 (4)电梯设计思路 (5)迭代情况 hw06迭代设计 第二周作业迭代需求 第二周修改条目 针对横 -
OO_Lab1总结博客
OO_Lab1 问题描述 模拟多线程实时电梯系统,新主楼ABCDE五个楼座各楼层均有电梯,乘客发起形如“从X座x层到Y座y层”的请求,电梯模拟上下行、开关门、乘客进出等行为,以满足所有乘客的要求。 解决思路 各个电梯无论是具体行为还是调度请求都相互独立,因此可以采用多线程的设计思想,每个电梯建立一个 -
「BUAA OO」第二单元总结
「BUAA OO」第二单元总结 零、任务简介 本单元要求建立一个多线程的电梯运行系统,实现对乘客的接送运载(并随时输出电梯运行信息以供评测机检查) 第一次作业,A、B、C、D、E座各有一个纵向电梯,乘客的输入请求被限制在上下行 第二次作业,增加了现实中比较少见的横向电梯(如 10L 的横向电梯可以在 -
BUAA-OO Unit2单元总结
目录 BUAA-OO Unit2单元总结 第一次作业 作业简介 总体架构 同步块和锁 调度器设计 bug分析 作业简介: 模拟单部多线程电梯的运行,多楼座均只有一部电梯。 总体架构: Main类负责所有线程的创建和开启;InputThread线程负责读入数据并将请求放入总等待队列(waitQueue -
BUAA-OO-U2-电梯
一、总论 1.1 直观理解 Unit2 的问题以电梯作为题目背景出题,刚做题的时候很容易就把这个单元的任务当成了处理多线程,当我全部完成这些作业以后,发现仅仅将 U2 概括为多线程,是一个十分片面的直观理解。 我觉得应该这么理解,U2 要完成的东西有(当然可以不完成): 多线程设计:这比原来