-
北航面向对象课程第二单元总结
第二单元电梯 自由竞争 Look策略 和平发育 与君共勉 (>Ω<) -
OO2022第二单元总结
OO2022第二单元总结 本单元内容是电调调度与多线程,因为之前完全没有真正上手写过多线程程序,所以相比第一单元对我而言相对熟悉的内容,完成第二单元需要更多的思考。 在代码的架构设计上,使用了最基本的生产者-消费者模式,简而言之就是一个线程解析请求,然后分发到各个电梯的请求队列。 第一二次作业请求解 -
OO2022第二单元个人总结
OO第二单元总结 -
BUAA OO Unit2总结
BUAA OO Unit2`总结 1 第五次作业 1.1 同步块的设置和锁的选择 第五次作业中我的锁主要设在ReqQueue类和Output类,Output类是为了防止输出线程不安全的问题出现,此处不必赘述。ReqQueue类中为了防止线程安全问题出现,我在方法上加了锁,同一时刻只允许一个线程访问R -
第二单元总结
第二单元总结 1.第一次作业 在第一次作业中,我采用的是一个等待队列配对一个电梯的方式,设置了电梯线程和输入线程。 1.1 同步块的设置和锁的选择 对于锁的选择上,为了防止莫名其妙的问题,我直接采用的是方法加synchronized锁(并且一直用到了作业三),显然这种方式会拖慢效率,因为可能 -
BUAA OO Unit2 Summary
#OO Unit2 Summary ##Part1:同步块 锁的选择 在完成这单元第一次作业的时候,荣老师简明扼要地提出 synchronized 、wait、notifyAll就完事了,所以在完成第一次作业的时候我并没有采用Java中的Lock类,包括ReentrantLockd等。而这个做法也延 -
BUAA-OO-Unit2 多线程历险
Unit2 多线程电梯历险 第五次作业 第五次作业采用的是producer-customer模式,InputThread线程作为生产者获得输入后将输入请求放入电梯对应的托盘RequestQueue中,Elevator线程作为消费者从RequestQueue中获得请求后对请求进行处理。 同步块设置及锁 -
OO 第二单元总结
OO 第二单元总结 一、总述 在本单元中我们初步学习了多线程的知识,熟悉实现线程安全的方法,逐步迭代开发实现了电梯调度系统。 UML类图如下: UML协作图如下: 二、作业分析 1. 第五次作业 (1)作业要求 本次作业要求较为基础,目的在于正确使用多线程写出线程安全的代码,仅要求在五个楼座中每栋楼 -
BUAA_OO_2022_第二单元总结
面向对象第二单元总结 一、对三次作业的分析 第一次作业 作业简介 A-E层每层单部电梯,每部电梯可以在1-10层运行,实现多线程实时调度电梯系统 难点分析 多线程:输入线程输入请求和电梯线程处理请求是并行发生的,需要处理线程读写冲突问题; 电梯运行策略:需要设计调度算法快速处理请求 解决方案 1. -
北航20级oo课程第二单元总结
第二单元总结 第二单元要求我们搭建一个多线程的电梯系统,由于是第一次接触多线程问题,在设计代码架构时,很容易会出现线程安全问题,这类问题在复现上十分困难,因此非常考验我们对线程安全的理解。下面我将阐述自己的作业设计。 hw5: 作业要求: 要求实现纵向电梯的调度,保证乘客出发楼座与目的楼座一致。 作