ICode9

精准搜索请尝试: 精确搜索
  • BUAA OO 第二单元总结2022-05-03 19:02:08

    BUAA OO 第二单元总结 同步块与锁分析 第五次作业中,我设计了一个线程安全的类OrderQueue,在这个类中,存在请求队列与候乘表,数据相关的类,通过分别加锁保证了请求队列和候乘表的线程安全与并行性能。而因为这个封装好的类,在外部不需要考虑线程安全问题,只需要使用OrderQueue就行,保证了

  • 2022 BUAA OO 第二单元总结2022-05-03 18:32:36

    第一次作业 设计思路 基本结构为生产消费者模型,输入线程生产request,电梯消耗request。在我的第一次作业中主要遇到了两个难点。一个是调度策略,另一个是电梯怎么获得request的设计。 调度策略方面,最开始看了look但没完全理解,导致写的过程比较困难并且最后写出来还是错的。按我的写

  • oo第二单元总结2022-05-03 17:00:49

    目录oo第二单元总结PART 1 同步块构造与选择PART 2 调度器设计PART 3 三次作业架构分析PART 4 自我分析bug策略PART 5 感想与体会 oo第二单元总结 PART 1 同步块构造与选择 ​ 本单元我们进入了多线程的世界,最重要的一个概念的就是同步锁,本单元作业均选取了synchronized锁,最开

  • OO第二单元总结2022-05-03 16:32:00

    OO第二单元总结 一、程序设计架构 总体架构 三次作业总体架构保持一致,在初始架构的基础上进行增量的迭代开发。 第一次作业 需求:模拟多线程实时电梯系统,每座固定一部纵向电梯,处理同楼座移动请求。 代码框架:   本架构采用生产者-消费者设计模式,托盘为各楼座等待队列,为每座定义了

  • OO_第二单元总结2022-05-03 14:04:14

    第一次作业 乘客的请求信息:起点层和终点层不同,起点座和终点座相同。如1-FROM-A-1-TO-A-2 思路:采用LOOK策略。若同方向上没有请求且电梯里的乘客的目的地都在反方向,则转换电梯运行方向。(捎带前往目的地与电梯运行方向相同的乘客) UML类图 自己程序的bug 输出时间戳没递增 第二次作

  • OO Unit-2 Summary2022-05-03 09:01:43

    OO Unit-2 Summary 第一次作业 同步块的设置和锁的选择 ​ 在本单元的作业中,我选择了以JVM实现的synchronized作为锁。用生产者和消费者模式对应本单元的作业,可以发现,共享的“托盘”只有电梯的等待队列,一方面,输入处理线程要将新的请求放入等待队列,另一方面,电梯不断读取处理队列的

  • OOUnit22022-05-03 03:31:45

    OOunit2总结博客 (1)总结分析三次作业中同步块的设置和锁的选择,并分析锁与同步块中处理语句之间的关系 作业中同步块都在共享对象中的方法,共享对象实现如下接口: public interface Queue { void addRequest(Request request);//添加成员 void setEnd();//传递结束信号

  • OO第二单元总结2022-05-03 00:34:35

    第二单元总结 一、同步设计 ​ 三次作业中均只使用了synchronized修饰词来进行线程的同步,并且主要针对读写冲突进行保护。在三次作业中均使用OutputQueue类对输出信息进行封装,保证其线程安全。对于使用最多的共享类RequestQueue,其读写方法getOneRequest、addRequest、removeReques

  • BUAA_OO Unit_22022-05-03 00:31:29

    伴随着一路艰辛,oo的第二单元正式告一段落,无论是对作业的回顾,还是自己走过这一单元的心得,正好也就借此博客一书胸臆; 好了,文青的话结束了 总而言之,欢迎大家看我的博客,顺便给几个赞呗 单元回顾 本单元以电梯调度为背景,聚焦于多线程的设计和处理 第一单元 存在A、B、C、D、E五栋楼,每栋

  • OO第二单元总结2022-05-02 23:35:11

    第二单元总结 第五次作业 代码架构:生产者模型 单独一个线程InputHandler用来接收输入数据. 设立共用调度器Controller用来作为缓冲区对数据进行操作. 电梯elevator作为消费者模型用来向调度器发出指令处理数据. 调度算法:半优化ALS算法 即不仅携带与主请求目的地同方向的

  • OO_Unit2_blog2022-05-02 19:01:10

    第二单元博客 1 同步块的设置和锁的选择 1.1 锁的选择   第二单元第一次课讲了synchronized上锁的方法,而之后的课程中又讲了ReentrantLock高级锁。尽管ReentrantLock可以实现更多的线程控制功能,但是考虑到相对来说使用synchronized代码实现比较容易并且不容易出错,因此三次迭代

  • OO第二单元心得感想2022-05-02 18:32:15

    第二单元博客 目录 一、同步块与锁 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 流水线模式 3.1.4 单例模式 3.2 三次作业架构设

  • OO第二单元总结2022-05-02 18:01:45

    OO第二单元总结 摘要 第一次作业:基本目标是模拟多线程实时电梯系统,模拟多部同型号电梯的运行,熟悉线程的创建、运行等基本操作,熟悉多线程的设计方法; 第二次作业:在第一次作业的基础上,掌握线程安全知识并解决线程安全问题,同时在架构上围绕线程之间的协同设计层次架构,模拟一个多线

  • 面向对象程序设计第二单元总结2022-05-02 17:35:34

    OO 第二单元总结 一、同步块的设置和锁的选择 第五次作业 在第五次作业中,我编写了一个RequestQueue 类。这个类作为调度器和电梯线程之间的桥梁:调度器Scheduler 可以向这个类中传入请求(用Req类表示,下面相同),而电梯线程类也可以从每个线程自身的请求队列中读取请求并进行处理。 由

  • OO_Unit2_单元总结2022-05-02 17:01:39

    OO_Unit2_单元总结 Part0 综述 本单元三次电梯作业依然是在逐次迭代的基础上进行开发的。其中第一次作业要求我们实现一个每座只有一个纵向电梯,无新增加电梯的请求并且乘客的请求仅限于同楼座不同楼层的电梯系统。第二次作业相较于第一次作业添加了横向电梯的概念,并且可以通过请求

  • OO第二单元总结2022-05-02 14:02:03

    OO unit2 需求迭代 第一次作业 输入:只有乘客的搭乘请求,搭乘请求为纵向 一共有五台纵向电梯,分别对应五个座ABCDE 第二次作业 输入:乘客的搭乘请求,搭乘请求为纵向或者横向;电梯的增加请求 初始有五台纵向电梯 第三次作业 输入:乘客的搭乘请求,搭乘请求为纵向或者横向或者

  • BUAA_OO_第二单元总结2022-05-02 13:04:00

    BUAA_OO_第二单元总结   第二单元主要实现电梯的调度问题。主要为了实现单部电梯、多部电梯、横纵向电梯的调度。 第一次作业 作业要求   第一次作业要求完成纵向电梯第调度问题。五个楼座各配置一部具有一至十层移动能力的电梯。电梯具有固定的移动速度、开关门速度和承载量

  • OO第二单元总结2022-05-02 02:32:01

    OO第二单元总结 作业总结 第五次作业 作业简介 这次作业是编写一个简单的多线程实时电梯系统,实现模拟五部电梯接送乘客的功能。 类图与协作图 类图如下: 协作图如下: 各个类含义如下: Main:主类Person:乘客类/请求类AllTable:全局Table(后来发现其实和控制器类似)Table:请求队列Request:

  • 处理机调度2022-05-01 22:34:36

    1.先来先服务(FCFS) 内容:调度作业/就绪队列中最先入队者,等待操作完成或堵塞 方式:非抢占式 场合:作业/进程调度 有利于CPU繁忙型作业,不利于I/O繁忙型作业(因为I/O是先计算再处理的,每个阶段不一定调用全部计算机资源) 2.短作业优先(SJF) 内容:所需服务时间最短的作业/进程优先服务 方式:非抢

  • BUAA OO Summary - Unit22022-05-01 21:00:47

    第二单元总结 第二单元的作业,由于我在最开始设计架构的时候投入了较多时间,很多地方都考虑了后续作业可能需要拓展的地方,所以我的三次作业整体架构几乎没有什么变动。 整体上采用了生产者与消费者模式,将输入类、调度器类、电梯类继承Thread,GeneralQueue和WaitingQueue则是线程安

  • Git实战2022-05-01 20:02:46

    这个作业属于哪个课程 至诚软工实践F班 这个作业要求在哪里 作业要求 这个作业的目标 <json解析学习,团队磨合,适应企业工程化分配时间管理> 小组的组号和队名 罗非鱼队 小组的队长姓名 兰春梨 一 工作内容及任务比例 成员 工作内容 任务比例 兰春梨 前端,后

  • 第五组-风雨五组-Git实战2022-05-01 18:32:04

    这个作业属于哪个课程 至诚软工实践F班 这个作业要求在哪里 第四次团队作业:Git实战 这个作业的目标 提高实战能力,加强团队协作 小组的组号和队名 第五组-风雨五组 小组的队长姓名 孟蕾 一、组员工作量比例表 成员 工作内容 贡献度 孟蕾 协助后端设计 15%

  • BUAA OO 2022 第二单元个人总结2022-05-01 17:33:43

    OO 博客 第二单元 第五次作业总结 本次作业的基本目标是模拟多线程实时电梯系统,熟悉线程的创建、运行等基本操作,熟悉多线程的设计方法。 共享对象 Checkend类的checkend,PersonRequests类的personRequestsA……personRequestsE和waitingpersonRequestsA……waitingpersonRequestsE

  • OO第二单元总结2022-05-01 15:00:22

    一、同步块的设置 在第二单元的作业中,我只使用了同步块的设置,没有使用读写锁,因此仅就同步块这一方面来介绍我三次作业的设计。从第一次作业初上手多线程,对于synchronized懵懵懂懂、看wait/notify晕头转向,到第三次作业已经摸清了这些关键字、内置方法的机理,能够肉眼分析出轮询的bug

  • 20373222李世昱第二单元总结2022-05-01 14:33:50

    第二单元博客总结 第五次作业UML类图和时序图如下:         由于第五次作业整体比较简单,该次作业并无过多迭代性考虑,采用的是标准的生产者消费者模式,INPUT线程不断读入新的数据发送给调度器,调度器把符合对应楼座的请求发送给对应的电梯,剩下的交给电梯自己不断处理。      

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有