-
OO第二单元总结
OO第二单元总结 一、同步块的设置和锁的选择 1.1锁与同步块中处理语句之间的关系 **需要设置同步块和锁的原因是:**多个线程访问/操作同一共享对象,需要锁来保证一个线程对该共享对象的访问/操作不会被其他线程打断。 锁与同步块中处理语句之间的关系:锁将它锁住的语句快(被锁住的这一块语句也称为同步块 -
BUAA OO-Course 2022 Unit2 Summary
BUAA 面向对象设计与构造第二单元——多线程与电梯调度作业博客 -
BUAA OO 第二单元总结
#:artificial_satellite:BUAA OO 第二单元总结 ✍第五次作业 🏠程序架构 (UML类图中省略了一些不重要的getter&setter方法和构造方法,下同) ####💬重要类描述 + 调度器设计 😶RequestQueue: 第一次作业对于Request的处理比较 -
OO第二单元总结
OO第二单元总结 本单元作业模拟了多线程实时电梯系统,实现了多楼层多楼座的横向及纵向电梯调度及乘客换乘请求的实现。本单元作业让我一方面学习了生产者-消费者的架构模式,另一方面深刻体会了多线程编程以及共享数据安全问题 第一次作业 第一次作业实现每个楼座只有一部纵向电梯的实时调度;乘客请求不允许跨楼座且 -
OO第二单元总结
摘要:本次电梯作业极大的丰富了我对多线程的认识和了解,通过三次作业,基本掌握了对于多线程任务处理的常规方法。 1、设计构造: 思路(三次作业共同的整体构造): 乘客的乘坐请求经由输入线程传给主调度器,主调度器根据请求的特点将请求分散传递到各个分支调度器,分支调度器再将请求进一步发送给电梯,让电梯据此 -
BUAA_2022_OO_Unit2总结
OO Unit2总结 题目概述 本单元作业任务为实现一个模拟多线程的电梯调度系统。 HW5为迭代的基础:多部纵向非换乘电梯。具体为基于一个类似北京航空航天大学新主楼的大楼,大楼有 A,B,C,D,E五个座,每个楼座有对应的一台电梯,可以在楼座内 1-10 层之间运行。系统从标准输入中输入请求信息,程 -
BUAA_OO_Unit2总结
BUAA_OO_Unit2总结 一、总述 在第二单元的学习中,我们学习了多线程的相关知识,了解了线程安全问题的解决办法,并在三次作业的迭代开发过程中建立了一个功能不断丰富的电梯系统。 最终的UML类图如下: 最终的时序图如下: 二、作业分析 2.1 第五次作业 2.1.1 作业要求 用多线程的方式实 -
BUAA_OO 第二单元总结 多线程
BUAA_OO 第二单元总结 多线程 一、unit2总览——多线程 本单元的主要内容是简单了解Java多线程设计模式,并且完成三次电梯作业的迭代。 然而实际上我们这个单元作业需要用到的多线程知识很有限(只需要会用synchronized加锁并且了解几个简单的设计模式就能完成) (一)多线程 为什么多 -
面向对象程序设计第二单元作业总结
面向对象程序设计第二单元作业总结 第二单元的任务是模拟多线程实时电梯系统。在三次作业中,我们的电梯系统从最初的每座一部纵向电梯,到每座多部纵向和横向电梯,乘客的需求也从最开始的单座、单层间移动变成了任意楼座楼层之间移动。在电梯系统不断复杂化的过程中,我学习了线程的创建、运行等基本操作,熟悉了多线程的 -
OO 第二单元总结
一、总述 在本单元中我们主要学习的是多线程的调度,了解并熟悉如何实现线程安全的问题,通过对电梯调度的三次迭代开发进一步了解多线程的使用 UML类图如下: UML协作图如下: 二、作业分析 1. 第五次作业 (1)作业要求 第五次作业主要要求的的是五栋楼各有一部电梯,电梯直接互不干扰,仅共用一个总输入