面向对象第二次博客作业
社区首页 (3666)
请编写您的帖子内容
社区频道(5)
显示侧栏
卡片版式
全部
学习资料
作业
作业提交
活动专区
最新发布
最新回复
标题
阅读量
内容评分
精选

14
评分
回复
面向对象第二次博客作业
不知为何五一前没交上去,所以再交一遍。 一、 同步块的设置与锁的选择 在本单元的设计中,我采用了经典的生产者-消费者模型,并将“托盘”作为一个独立的线程安全类进行加锁。 锁的选择: 核心锁对象是队列(如全局等待队列 globalQueue 和各个电
复制链接 扫一扫
分享

29
评分
回复
面向对象第二次博客作业
一、前言 第二单元以多线程电梯为主线,从指定电梯、到自主调度 + 维修、再到双轿厢改造与回收,三次作业层层递进。我完整经历了从单线程思维到并发思维的转变,在锁设计、调度策略、线程安全、层次化架构上完成了系统性迭代。本文将严格按照作业要求,围绕同步块与
复制链接 扫一扫
分享

25
评分
回复
OO第二单元总结博客:多线程电梯与并发控制之旅
0. 前言 如果说第一单元的表达式解析是对面向对象思维的初步建立,那么第二单元的多线程电梯调度,则是带我们真正走进了并发编程的“深水区”。从最开始的单体电梯、生产者-消费者模式,到动态重置,再到最后让人心力交瘁的“双轿厢”互斥换乘,多线程的不确定性让
复制链接 扫一扫
分享

72
评分
回复
面向对象第二次博客作业
总结分析三次作业中同步块的设置和锁的选择,并分析锁与同步块中处理语句之间的关系 锁的对象选择存在实例锁来管理对象自身的私有状态,还有分配器的的实例锁来确保了任务分配逻辑的原子性。同步块设计遵循‘死锁预防’原则,内部仅执行本对象状态转换与局部计算,避免
复制链接 扫一扫
分享

36
评分
回复
第二单元博客:Unit2总结
面向对象课程第二单元多线程电梯作业总结博客
复制链接 扫一扫
分享

32
评分
回复
2026_OO第二单元博客
OO第二单元博客 一、锁与同步块 在多线程电梯作业里,同步操作主要集中在输入队列、请求队列这类共享数据结构上。这些队列会被多个线程同时访问,因此必须通过加锁保证读写操作的互斥,避免数据竞争与状态不一致。 后续作业中,我针对不同的等待场景分别设计了独立
复制链接 扫一扫
分享

33
评分
回复
2026-OO-U2-Summary
一、同步块的设置和锁的选择 在不同阶段,针对不同的共享资源选择了不同的锁对象: 队列锁(WaitQueue, Queue):这是最基础的生产者-消费者模型锁。InputThread作为生产者,电梯或调度器作为消费者,通过锁住队列对象实现请求的存取。
复制链接 扫一扫
分享

122
评分
回复
OO Unit2博客
2026OO Unit2 1. 三次作业演进总览 1.1 需求演进 第五次作业是第二单元多线程电梯的起点。输入中每个乘客请求已经指定 BY 电梯号,因此调度器的职责相对简单:输入线程读到请求后封装成事件,分派线程根据请求中指定的电梯编号,把任务转发到
复制链接 扫一扫
分享

54
评分
回复
OO Unit2 总结博客
代码设计与架构 第一次迭代 架构设计总览: 前言 第五次作业标志着我们正式步入多线程的深水区。从单线程的顺序执行到多线程的并发交互,思维方式需要进行极大的转变。 第一次迭代的整体业务逻辑其实并不复杂——乘客在请求时就已经指定了电梯,所以不需要我们去头
复制链接 扫一扫
分享

33
评分
回复
北航OO第二单元多线程电梯作业总结博客
北航OO第二单元多线程电梯作业总结博客 一、三次作业同步块设置与锁选择分析 本单元电梯作业核心是多线程安全协作,三次作业迭代中,我围绕wait/notify、ReentrantLock、synchronized三种同步机制,逐步优化锁粒度与同步块逻辑
复制链接 扫一扫
分享

29
评分
回复
BUAA_OO_UNIT2_博客
一、同步块的设置与锁的选择 我这三次作业里一直没有换锁模型,基本都在用 synchronized。原因不是它有多高级,而是它足够直接,和 wait/notifyAll 也比较好配合。二单元最怕的不是“锁不够高级”,而是共享状态到底归谁管不清楚。 第一
复制链接 扫一扫
分享

39
评分
回复
OO Unit 2 总结博客
如何在极限时间内设计出可行的架构?
复制链接 扫一扫
分享

62
评分
回复
面向对象第二次博客作业
一、同步块与锁的设计分析 1. 同步块的设置与锁的选择 三次作业围绕多线程电梯调度展开,同步块和锁的设计核心是解决线程间的资源竞争与数据一致性问题,不同阶段的选择适配了不同的业务复杂度: 第一次作业(基础单电梯调度) 锁的选择:核心使用 Reentr
复制链接 扫一扫
分享

OO第二单元博客作业
北航OO第二单元博客
...全文
33
评分
回复
OO第二单元博客作业
北航OO第二单元博客
复制链接 扫一扫
分享

30
评分
回复
Unit 2:多线程电梯的并发调度实践
一、同步块的设置与锁的选择 处理多线程时,锁的粒度与选择直接决定了系统的安全性与并发性能。随着并发的复杂度不断提高,锁策略也必须随之不断演进。 1. 核心数据结构的同步(WaitQueue 锁) 为了保护需要被多部电梯高频访问的请求队列,将其封装为
复制链接 扫一扫
分享

88
评分
回复
OO Unit2 总结
OO Unit2 一、同步块的设置和锁的选择 在三次作业中,我对线程间的通信采用了生产者-消费者模型,生产者-消费者模型中同步块和锁通常设置在对队列的临界操作中,我只需要保证队列同时只有一个线程访问,即可保证线程不会出现交叉运行的错误。在生产者-消费
复制链接 扫一扫
分享

32
评分
回复
OO 第二单元总结博客
OO 第二单元总结博客 一、同步块设置与锁的选择 三次作业锁结构演进 三次作业的同步设计随着架构复杂度的增加而逐步精细化。 HW5:锁粒度较粗,WaitQueue 与各 ElevatorQueue 均以 this 作为锁对象,同步方法覆盖整个方法体。
复制链接 扫一扫
分享

26
评分
回复
OO 第二单元总结博客
OO 第二单元总结博客 一、同步块设置与锁的选择 三次作业锁结构演进 三次作业的同步设计随着架构复杂度的增加而逐步精细化。 HW5:锁粒度较粗,WaitQueue 与各 ElevatorQueue 均以 this 作为锁对象,同步方法覆盖整个方法体。
复制链接 扫一扫
分享

37
评分
回复
OO U2 总结博客
本文约 3000 字,阅读预计需要 10 分钟。 欢迎大家前往 OOpre 2025 与 OO 2026 讨论区阅读我的往期文章。 关于 Interface 和 Abstract Class 的一些思考 —— 从 C++ 与 Java 说开去 不用
复制链接 扫一扫
分享

32
评分
回复
OO 第二单元多线程电梯总结
OO 第二单元多线程电梯总结 设计总览 线程模型(最多 14 线程) stdin → InputThread ─┬─ PersonRequest ─→ [centralQueue] ─→ Dispatcher ─→ RECEIVE │ ↓ │ [ca
复制链接 扫一扫
分享
为您搜索到以下结果:
304
社区成员
755
社区内容
发帖
与我相关
我的任务
2026年北航面向对象设计与构造
2026年北航面向对象设计与构造
复制链接 扫一扫
分享确定
社区描述
2026年北航面向对象设计与构造 java 高校
加入社区
获取链接或二维码
- 近7日
- 近30日
- 至今
加载中
社区公告
暂无公告