BUAA OO hw5 && hw6
本次作业的基本目标是模拟多线程实时电梯系统,熟悉线程的创建、运行等基本操作,熟悉多线程程序的设计方法,掌握线程安全知识并解决线程安全问题。
前言
由于第五次作业对电梯调度策略和电梯运行策略没有理解清楚,导致逻辑混乱,对电梯的状态更新复杂从而出现了bug,以及调度策略有问题导致时间性能较差。于是第六次作业进行了重构,采取了新的策略,目前评测机反馈正确性和性能都是可以的。
前置知识
继承、接口、多态形成了面向数据和行为抽象的层次结构 (关注数据抽象和行为抽象)
线程、共享、交互形成了面向并发和协同抽象的层次结构 (关注并发行为的安全和效率)
final 关键字
修饰类:表明这个类不能被继承。
修饰方法:把方法锁定,以防任何继承类修改它的含义。
修饰变量:对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。
线程的互斥处理(monitor)—— synchronized
一个实例中的 synchronized 方法每次只能由一个线程运行,对非 synchronized 方法没有影 ...
BUAA OO第一单元——递归下降处理表达式
北航OO第一单元作业总结
前言
通过对表达式结构进行建模,完成多变量多项式的括号展开,初步体会层次化设计的思想。
然而我对自己的设计并不是很满意,当完成第三次作业的时候代码行数已经达到了993行。还有许多可以改进之处,在此进行总结。
第一次作业
题目简述
读入一个包含加、减、乘、乘方以及括号(其中括号的深度至多为 1 层)的多变量表达式,输出恒等变形展开所有括号后的表达式。
整体架构
我采用的是递归下降算法,先将表达式进行语法解析,再计算化简。根据课程提供的形式化表述,表达式解析为:
Expr:表达式及表达式因子
Term:项
ExprPow:表达式及对于指数
Number:常数因子
Power:变量因子
具体的类图如下:
架构解析
本次作业可以分为三个部分,第一个是表达式模型,第二个是表达式解析,第三个是表达式化简。
表达式模型
根据题目提供的形式化表述(摘录部分):
表达式 → 空白项 [加减 空白项] 项 空白项 | 表达式 加减 空白项 项 空白项
项 → [加减 空白项] 因子 | 项 空白项 ‘*’ 空白项 因子
因子 → 变量因子 | 常数因子 | 表达式 ...
Linux虚拟机联不上网解决方法
在用docker下cellift的时候校园网时不时地会崩掉,后来把校园网连回去,虚拟机也没有网,搞了半天才连回去,故在此想记录一下过程。
Centos命令行上下翻页
写博客的时候本来想翻一下刚刚的操作记录,结果发现不会翻页,进行了一番搜索和咨询大佬。
由于笔记本键盘中PgUp 和 ↑ 键合并在一起,所以不能直接用 shift + PgUp,而应该用 shift + Fn + PgUp 。
Linux虚拟机网络连接
以下基于NAT网络连接模式(虚拟机 -> 网络适配器 -> 网络连接NAT模式)
查看网络连接是否正常
查看本机与虚拟机是否连接正常
本机ping虚拟机
虚拟机ping本机
在本机中打开 cmd ,输入 ipconfig 查看ip设置
ping 10.193.4.233
以上表示本机与虚拟机连接正常
#### 2.2.2 虚拟机与远程网络连接
ping www.baidu.com
解决网络连接失败方法
如果 ping www.baidu.com: 未知的名称或服务,说明网络连接有问题。
检查网络配置文件
vi /etc/syscon ...
博客使用操作记录
这是CajZella在博客搭建及使用过程中记录的内容
CO实验总结
北航2021级计算机组成原理课程实验回忆