ICode9

精准搜索请尝试: 精确搜索
  • 面向对象设计与构造 第二单元总结2022-05-03 23:33:48

    第二单元博客作业 第五次作业 UML类图: 架构思路: 本次作业只有固定的五台纵向电梯,处理的请求之间相互独立,故处理起来较为简单。线程的设计整体基于生产者消费者模式,输入通过一个线程暂存到buffer请求队列中,五台电梯各开一个线程(在主线程中就可以设置好),模拟电梯的自主运行,同时分别

  • BUAA_OO_2022 Unit2 总结2022-05-03 20:02:11

    BUAA_OO_2022 Unit2 总结 一、第五次作业   1、同步块的设置和锁的选择   这是第一次写多线程的程序,所以对此还比较陌生,于是向上机代码学习了一波,并偷懒躲开了一些问题。线程分为了输入线程,电梯线程和调度器线程。在我的第一次作业中,输入线程和调度器线程共享一个总的请求队列

  • BUAA OO 第二单元总结2022-05-03 19:02:08

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

  • 工作流调度器-Azkaban2022-05-03 14:33:47

    1.工作流调度器 1.为什么需要工作流调度系统 一个完整的数据分析系统通常都是由大量任务单元组成: shell脚本程序,java程序,mapreduce程序、hive脚本等 各任务单元之间存在时间先后及前后依赖关系 为了很好地组织起这样的复杂执行计划,需要一个工作流调度系统来调度执行; 例如,我们

  • BUAA OO U22022-05-03 11:00:16

    一、同步块的设置和锁的选择: 关于 synchronized : 大概的使用方法有这两种。 synchronized(this){ // 同步代码方法块 } synchronized void method() { //method 具体实现 } 关于 lock : 大概的使用方法以及接口的实现类: ReentrantLock , ReentrantReadWriteLock.ReadLock , Ree

  • 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();//传递结束信号

  • 多进程-调度和分类2022-05-03 01:04:05

    进程调度 定义 调度过程 调度问题和指标 常用调度算法 抢占优先级概念 优先级 调度策略 进程分类 前台进程 shell运行的程序 后台进程 shell运行带 & 的程序 查看后台程序,jobs killall exe 守护进程

  • 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第二单元总结2022-05-02 19:04:28

    OO第二单元总结 同步块与锁 多线程编程目的是为了加快程序运行速度,线程之间会共享资源,由此自然而然会产生类似于计组C流水线PU中读写不一致的问题,故必须要正确地加锁。 通过阅读训练教程和相关资料,了解到了原子操作的概念以及各种加锁的方法。虽然有更高级的条件锁以及读写锁等

  • 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 第二单元总结2022-05-02 16:00:23

    OO第二单元总结 第一次作业 题目要求 A、B、C、D、E五栋楼均有10层,每栋内有一座纵向电梯,输入为同一楼座不同楼层的请求。需要模拟电梯的运行,并输出开门、关门、乘客进出信息。 设计思路 参考了实验的思路,建立输入线程、控制器线程、电梯线程,建立请求队列类。输入线程将输入的请求

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

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

  • OO summary Unit 22022-05-02 02:31:32

    目录unit 2 总结同步块的设置和锁的选择调度器设计架构模式程序的bug发现他人bug的策略心得体会 unit 2 总结 本次OO第二单元实现的主要任务为模拟了一个多线程电梯运行的基本场景,基于“生产者-消费者模式”实现了满足不同的电梯调度以及运行策略达到满足用户上下楼、换乘等请求的

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

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

  • BUAA OO 第二单元总结2022-05-01 15:35:19

    综述   本单元的任务为模拟多线程实时电梯系统,主要考察多线程运行和交互的实现。在这三次作业的迭代中,第一次作业只涉及多部电梯的运行和电梯与调度器的竞争;第二次作业允许同层或同座多电梯运行,由于采用自由竞争策略,涉及到多部电梯竞争同一等待队列;第三次作业增加换乘策略,增加电

  • BUAA-OO-第二单元总结2022-05-01 01:04:06

    目录一、需求分析第一次作业:第二次作业:第三次作业:二、方案实现第一次作业第二次作业第三次作业三、同步块设置和锁的选择四、调度器设计分析第一次作业第二次作业第三次作业五、bug分析六、心得体会 一、需求分析 第一次作业: 模拟一个多线程实时电梯系统,有A-E五个楼座,每个楼座一部

  • BUAA_OO_Unit2_多线程2022-05-01 01:00:24

    OO_Unit2_多线程 一、同步块 与 锁 在本次实验中,仅使用了如下两种形式进行同步:  //format 1 synchronized (lock) {  // code block } //format 2 try {     lock.wait(); } catch (InterruptedException e) {     e.printStackTrace(); } //in other code bloc

  • buaa_oo_第二单元总结2022-04-30 19:34:52

        第一次作业     架构模式:   第一次作业只涉及每个楼座的一部电梯,不涉及横向电梯及换乘等,逻辑较简单。在架构上建立了Inputhandler类来处理输入请求,将请求加入同步队列waitQuene中;调度器设计:在课程组的强调和往届经验指导下,加入了Schedule控制器线程类,Schedule与Inputh

  • OO第二单元总结2022-04-30 17:31:06

    第二单元总结 1.同步块设置与锁的选择: ​ 三次作业中基本都遵循生产者-消费者模式 第一次作业:因为第一次作业的结构较简单,故没有设置调度器,而是将Input线程直接通过传送带类与电梯相连.传送带类为TaskQueue类,其中有一个容器tasks装着所有的任务同时有end标记结束.put与get方

  • BUAA_OO_2022 Unit2 总结2022-04-30 17:04:34

    BUAA_OO_2022 Unit2 总结 单元总览 本单元的主题是多线程,基于真实的电梯调度场景,学习了基于线程、共享、交互的面向并发和协同抽象的层次设计结构,重点关注并发行为的安全和效率。 此外,我们还学习并实现了生产者-消费者模型、单例模式、黑板模式、流水线模式等,对于面向对象的设计模

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

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

ICode9版权所有