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

  • BUAA OO U2

    一、同步块的设置和锁的选择: 关于 synchronized : 大概的使用方法有这两种。 synchronized(this){ // 同步代码方法块 } synchronized void method() { //method 具体实现 } 关于 lock : 大概的使用方法以及接口的实现类:
    乌拉圭的袋鼠   2022-05-03 10:54   0   33
  • BUAA_OO_Unit2 线程安全设计总结

    BUAA_OO_Unit2 线程安全设计总结 一、综述 ​ 面向对象课程的第二单元的主题是利用多线程设计来模拟电梯的调度和运行。这一单元主要考察我们对并发和多线程的理解,基于共享、交互的面向并发和协调的层次设计能力,以及最重要的维护并发行为的安全设计能力。 ​ 本单元共三次作业,每次作业都是在上一次
    薛定谔的猫SC   2022-05-03 10:44   0   20
  • BUAA_OO_2022 第二单元总结

    面向对象设计与构造 第二单元总结 总述 第二单元主要是Java多线程的实现,自我感觉第二单元的作业比第一单元的实现轻松不少,但每次作业最终的实现效果并不十分让人满意。虽然有过在debug过程中找不到CTLE和RTLE错误原因的"坐大牢"环节,但最后我发现多线程问题的解决主要还是对线程的理解和对调度方
    tiderem   2022-05-03 10:37   0   10
  • OOUnit2

    OOunit2总结博客 (1)总结分析三次作业中同步块的设置和锁的选择,并分析锁与同步块中处理语句之间的关系 作业中同步块都在共享对象中的方法,共享对象实现如下接口: public interface Queue { void addRequest(Request request);//添加成员 v
      2022-05-03 03:04   0   18
  • BUAA OO 第二单元 总结报告

    一、第二单元电梯作业设计思路 初次接触多线程的问题,对于作业的设计思路一开始比较迷茫,后来通过阅读上机实验的代码,觉得采用“生产者-消费者”的模式比较合适,遂模仿实验的思路设计了InputHandler、Schedule、RequestQueue来进行输入数据的实时处理和调度,事实证明这一架构模式的
    Sainthousand   2022-05-03 00:52   0   33
  • OO第二单元总结

    第二单元总结 锁和同步块 主要利用了synchronized锁和Controller调度器解决线程数据冲突问题. 本次作业由于直接将人分配到楼座且一个楼座仅有一个电梯就无需考虑删除人时的读写冲突. 调度器设计 controller内部掌管NewMainBuiding类包含了所有楼座的信息,通过get
    爱学习的拾柒   2022-05-02 23:18   0   9
  • BUAA_2022_OO_Unit2_Summary

    BUAA_2022_OO_Unit2_Summary 大梦谁先觉,平生我自知。 第一章 基本架构 第一次作业架构分析 总体设计 我的第一次作业架构主要包括输入类(InputThread),总调度器(Schedule),电梯类(Elevator),候乘类(RequestQueue),输出类(MyOut
    `Demon   2022-05-02 23:04   0   41
  • BUAA-OO-Unit2 总结与反思

    第五次作业 代码架构 我的代码种设计了两类线程,电梯线程Elevator和输入线程InputThread 每个电梯线程与输入线程之间有独立的共享对象RequestQueue,从而避免两个线程之间直接交互造成线程安全问题 输入线程与等待队列之间采用观察者模式,输入线程作为被观察者,等待队列为观察者,接
    FlyingAns   2022-05-02 18:40   0   45
  • OO第二单元总结

    OO第二单元总结 同步块与锁 多线程编程目的是为了加快程序运行速度,线程之间会共享资源,由此自然而然会产生类似于计组流水线CPU中读写不一致的问题,故必须要正确地加锁。 通过阅读训练教程和相关资料,了解到了原子操作的概念以及各种加锁的方法。虽然有更高级的条件锁以及读写锁等等,但它们对于电梯作业性能的
    继续宠爱   2022-05-02 18:37   0   53
  • OO第二单元心得感想

    第二单元博客 目录 一、同步块与锁 1.1 同时读/写 1.2 输出 1.3 流水线架构模式 二、调度器设计 2.1 第五次作业 2.2 第六次作业 2.3 第七次作业 三、架构模式 3.1 设计模式 3.1.1 生产者-消费者模式 3.1.2 master-slave模式 3.1.3 流水线模式
    普通桑   2022-05-02 18:21   0   8