文章
87
粉丝
0
获赞
0
访问
4.3k
评分及理由
(1)信号量定义及初值(满分4分)
学生定义了两个信号量:mutex(初值1)和 full(初值500)。其中,mutex 用于出入口互斥,含义正确,初值正确;full 初值500,但其含义是“最多500人参观”,这与标准答案中的 empty(代表剩余空位)含义相反。在同步问题中,使用 full 信号量进行控制时,通常需要配合相应的 P/V 操作逻辑。学生使用 P(full) 在进门之前,这实际上是在检查博物馆是否已满(因为 full 初值500,P操作会减少其值),这与标准答案使用 empty 的逻辑效果是等价的,只是信号量命名不同。根据评分要求,思路正确不扣分,且信号量初值正确,因此不扣分。但信号量含义表述与标准答案不一致,考虑到其逻辑正确,且命名不同但作用等价,不扣分。得4分。
(2)对mutex的P、V操作(满分2分)
学生在进门和出门操作前后都正确使用了 P(mutex) 和 V(mutex) 来实现出入口的互斥访问,操作顺序正确,符合标准答案。得2分。
(3)对empty/full的P、V操作(满分1分)
学生使用 P(full) 在进门之前,V(full) 在出门之后。虽然信号量命名为 full,但其 P/V 操作的逻辑与标准答案中的 empty 效果一致:P(full) 相当于减少一个空位(如果满则等待),V(full) 相当于增加一个空位。该同步逻辑正确,能够控制博物馆人数不超过500。得1分。
题目总分:4+2+1=7分
登录后发布评论
暂无评论,来抢沙发