-
实验4
print(sum) sum = 42 print(sum) def inc(n): sum = n+1 print(sum) return sum sum = inc(7) + inc(7) print(sum) 1.内置函数 2.给sum赋予一个值 3.局部变量 3.全局变量 2. list1 -
实验4 函数与异常处理应用编程
task1 1 print(sum) 2 sum = 42 3 print(sum) 4 5 def inc(n): 6 sum = n+1 7 print(sum) 8 return sum 9 10 sum = inc(7) + inc(7) 11 print(sum) 截图: line1:内置 -
BUAA OO Unit2 Summary
BUAA OO Unit2 Summary 零、写在前面 https://www.cnblogs.com/GrapeLemonade/p/14702876.html 初听不知曲中意,再听已是曲中人。 一、同步块与锁 锁的选择 在本单元作业中,我全部采用了JVM层面的synchronized关键字对同 -
面向对象第二单元博客
面向对象第二单元博客 设计目标 这个单元的目标是模拟多线程实时电梯系统 第五次作业 设计要求 第五次作业主要模拟新主楼ABCDE座每座有一台纵向电梯的运行 类的设计 本次作业主要采用生产者-消费者模式,设计的共享对象相关的类有: Waitqueue 等待队列,每个电梯共享一个该类的对象,调度器和输入 -
BUAA OO 第二单元总结
BUAA OO 第二单元总结 第一次作业 架构思路 整体架构 第一次作业的核心问题是处理5个不同楼座的乘客请求。整体的架构使用的是生产者-消费者模型,输入线程和电梯线程分别作为生产者和消费者,请求队列作为共享变量。每一个电梯都有各自的请求队列,所有的请求队列装载于一个ArrayList容器中由输入线 -
OO第二单元总结
OO第二单元总结 一、单元重点 1.1 多线程的概念和理解 多线程,顾名思义,就是在一个程序运行时有多个同时运行的线程,它是比进程更加细化的概念,主要的针对的研究对象就是我们的共享对象,针对共享对象进行各个线程间的合作协同,一般情况下能较大程度提升程序性能。 1.2 JAVA多线程 JAVA语言自身 -
OO Unit2单元总结
OO Unit2博客 林世瀚 20185635 2022.5.4 1 同步块的设置和锁的选择,锁与同步块中处理语句之间的关系 锁的选择 对乘客等待列表加锁,防止读写冲突 private final ArrayList<Vector<PrCommand>> waitingList; synchroni -
面向对象第二单元总结
面向对象第二单元总结 〇.单元总览 本单元主要以“电梯问题”为背景熟悉如何处理多线程问题,并着重于对多线程问题中线程安全问题的考察。 在本单元的作业和实验中,我们还学习并使用了生产者-消费者模型、黑板模式、单例模式和流水线模式等新的方法,进一步加深了对面向对象设计模式的理解。 一.线程分析 本单元作 -
第二单元总结
第二单元总结 同步问题 Java中的synchronized关键字是一个相对较重的锁结构, 为了在一定程度上提升性能, 并且有更加面向对象的建模, 我采用了读写锁+条件变量的实现方式. 两者有相当大的差别, 使用synchronized关键字时, 首先每次只能锁住一个对象; 如果需要锁住多个对象则需 -
BUAA-OO-unit-2-总结
BUAA-OO-unit-2-总结 第二单元主题为实现多线程的实时电梯模拟,研究探索多线程协作、线程安全、设计模式等问题。 电梯单元的主要难点在于,在保证线程安全的前提下,设计出易于扩展的架构,同时保证性能。对此,我采用了单级托盘集中式调度的架构。三次作业迭代增量开发的过程中,我在电梯之间的宏观调度 -
BUAA ObjectOriented Unit2总结
BUAA ObjectOriented Unit2总结 总的来说,第二单元的作业是通过$Java$的多线程来模拟北航新主楼的电梯接人。第一次作业中,每栋楼只有一部纵向电梯;第二次作业中,除每栋楼初始的一部纵向电梯外,还可以新加横向电梯和纵向电梯;第三次作业中,需要实现乘客在不同的纵向电梯及横向电 -
「BUAA OO」Unit2
一、同步块与锁 什么时候需要加上同步块? 经过查阅资料我们可以知道,同步代码块指的是被Java中synchronized关键词修饰的代码块,在Java中,synchronized关键词不仅仅可以用来修饰代码块,与此同时也可以用来修饰方法,是一种线程同步机制,被synchronized关键词修饰的代码 -
第二单元总结
一. 综述 在本单元中我们初步学习了多线程的知识,熟悉实现线程安全的方法,逐步迭代开发实现了电梯调度系统。 UML类图如下: UML协作图如下: 二.作业分析 第一次作业 要求:每栋楼各一部电梯,保证乘客不会发出跨楼座请求。 架构设计 架构和策略实现 采用生产者消费者模式,为5栋楼各设置一个Sche -
『BUAA-OO-Unit2-Summary』
『BUAA-OO-Unit2-Summary』 Homework5 0. 写在前面 由于没有看清DDL,导致本次作业卡点提交未能成功通过。(悲) 作为多线程编程的初学者,我认为本次作业的难点有三: wait()/notify()的使用; 共享对象类的构造; 调度策略的代码实现; 接下来,我将对本次作 -
BUAA_OO_Unit2 总结
BUAA_OO_Unit2 总结 一、电梯架构分析 (一)第五次作业 1 整体架构分析 需求分析 本单元作业需要完成多线程的电梯调度程序,而本次作业仅需要支持上下行一种电梯和同座间换层指令的需求。 整体架构 本次作业采取输入线程和电梯线程两个线程,其中输入线程负责从控制台获得指令并分配到各个指令队列 -
OO第二单元总结
Zzzzzzzz............OO第二单元总结 -
BUAA OO 第二单元
OO 第二单元总结 第二单元的任务是设计一个电梯调度的程序,需要我们设计调度方法以便在相对较短的时间内将乘客送到目的地。主要应用多线程的知识,包括多线程中的同步和互斥,以及避免出现死锁。理解线程间如何进行通信以及如何保持通信的安全,就已经完成了本单元任务的大部分。 第一次作业 作业思路 第一次作业我 -
面向对象程序设计第二单元作业总结
OO第二单元单元总结 一、线程的互斥处理 在多线程的学习中,我们会发现,多线程程序中的各个线程都是自由运行的,所以如果不加入线程的互斥处理,有的时候可能多个线程同时操作同一个实例。这样就会引发问题,这样的问题最早出现在我的作业二中,具体的现象是,有一个乘客同时上了两个不同的电梯,被“一分为二”。 为 -
OO第二单元总结
OO第二单元作业 前言 本次OO作业,我投入了大量精力,包括多线程知识的了解,评测机的设计与迭代,以及数据生成器的设计,虽然最后卒于一个奇怪的且无法复现的关门问题,但是总体来说还是学到了不少东西,第五次次作业的游刃有余到第六次作业的一个调度的小问题,第七次作业卒于信号的维护少加了一把锁,就如同Red -
第三次团队作业——项目系统设计与数据库设计:第十二组
第十二组 -摩天脆脆冰淇淋队 ——项目系统设计与数据库设计 这个作业属于哪个课程 至诚软工实践F班 - 福州大学至诚学院 - 班级博客 - 博客园 (cnblogs.com) 这个作业要求在哪里 作业要求 这个作业的目标 项目系统设计与数据库设计 Gitee仓库地址 第十二组 -摩天脆脆冰淇淋队 其