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

  • OO第二单元总结

    OO第二单元总结
    罗夏0324   2022-04-27 00:46   1   51
  • BUAA-OO-第二单元总结

    HW5 第五次作业是5部电梯独立的在五栋楼中运行。 5.1 UML类图 5.2 类复杂度分析 5.3 方法复杂度分析 5.4 bug & bug分析 输出线程不安全 在指导书中有明确指出,官方输出线程其实是不安全的,可能输出时间戳不递增,也有同学在讨论区讨论该如何解决,但是我最后忘加上了(悲 5.5
    martinriven   2022-04-26 23:40   1   28
  • 面向对象第二单元总结

    北航OO第二单元(多线程实时电梯系统)总结 本单元的总体任务是维护一个ABCDE共5楼座、10层的目标选择电梯系统。需要接受乘客的请求和增加电梯的请求,并运行相应电梯将乘客送达目的地。输出所有的电梯运行以及上下人行为。 一、同步块和锁 第五次作业中只有竖向电梯,每座各有一个,均可达1-10层,乘客请
    gdfwj   2022-04-26 23:13   1   243
  • BUAA_OO_2022_Unit_2_Summary

    一、程序设计构架 第一次作业 需求简述: 模拟一个多线程实时电梯系统,各楼座有且仅有一台纵向电梯,处理已知起终点的同楼座乘客请求。 代码构架: |- Unit2:主类 |- InputHandler:输入线程 |- Controller:各楼座候乘表 |- Elevator:电梯线程 |- Outp
    ChorlingLau   2022-04-26 22:50   0   108
  • OO第二单元总结

    第二单元总结 一、同步块与锁 线程的同步与锁的应用是多线程中不可避免的问题,那么首先就来谈谈这三次作业中同步的实现位置,以及实现方式。 哪些地方需要用到同步块和锁 电梯总体的逻辑都是大致相同的,无非是乘客输入请求、调度器分发请求、电梯完成请求。之所以多线程要用到同步就是因为有共享数据,多个线程同时读
    天机晓梦   2022-04-26 22:39   1   47
  • OO第二单元总结

    在第二单元主要训练了我们的多线程编程和设计能力。 第一次作业 总体设计 在第一次作业中,我采用了生产者消费者模式。在主线程里读入数据,将请求放入请求队列里。我在请求队列的设置里设置了五个Arraylist,分别对应着五个楼层。之后电梯作为消费者完成请求。 在调度策略方面我采用的是LOOK策略。其实在
    旅行者空   2022-04-26 22:15   1   43
  • OO2022第二单元作业总结

    本文为OO2022第二单元总结。本次作业主要以电梯系统的设计为内容熟悉和熟练掌握线程方面的知识。主体思路上我才用了生产者消费者模式,在文章中分别阐述了三次作业中的主要思路,调度器设计与交互,同步代码块的设置与锁的选择。之后利用UML类图,与方法复杂度分析了本次作业架构的不完美之处,最后分享了自己在本次作业中关于层次化设计与线程安全的心得体会。如有错误,谢谢指正!
    Lei_YuYu   2022-04-26 21:52   0   27
  • 面向对象2022-第二单元作业总结

    面向对象2022-第二单元作业总结 第一次作业 本次作业是在单栋楼中设置一部电梯接送上下楼的乘客。 (1) 同步块设置&锁的选择 这次作业是多线程作业伊始,能否处理好锁与同步块之间的线程安全,让不同线程间可以共享数据并且保证安全,对多线程作业的发展具有重要意义。在对题干进行一番迅速却又不失严谨的推理
    早点明安   2022-04-26 21:21   0   57
  • OO_Unit2_Summary

    OO第二单元总结 一、同步块的设置和锁的选择 在三次作业的设计中,我都是通过对电梯的共享队列加锁来实现控制的。将对共享对象进行操作和访问的方法用synchronized修饰以处理读-读和读-写冲突。由于作业采取生产者-消费者的设计模式,因此只需对托盘(即请求队列加锁)即可解决线程不安全的问题,这种方
    shuo1337   2022-04-26 20:08   1   16
  • 2022面向对象设计与构造第二单元总结

    一、第一次作业 1.1 同步块与锁 第一次作业的锁主要设在RequestQueue类,这个类的核心属性是一个Arraylist<Request> 容器,而RequestQueue类也重写了Arraylist的size(),get(),add()等方法,并为这些方法加上了类锁。在第一次作业中,Requ
    20231026   2022-04-26 17:45   1   65