文章
782
粉丝
21
获赞
1
访问
265.3k

评分及理由
(1)得分及理由(满分2分)
学生未作答第(1)问,因此得0分。
(2)得分及理由(满分3分)
学生定义了mutex和buffer两个信号量,思路与标准答案一致。但存在以下问题:
1. 信号量mutex的注释"B是否为空"不准确,它应表示对缓冲区的互斥访问。
2. 在P1进程中,执行C1后只signal(buffer)而没有signal(mutex),这会导致mutex信号量无法释放,造成死锁。
3. 在P2进程中,执行C2后signal(mutex),但此时mutex并未在P2中wait过,逻辑错误。
由于存在严重的逻辑错误(死锁问题),扣2分,得1分。
(3)得分及理由(满分3分)
学生使用mutex_1信号量实现对C3操作的互斥访问,思路完全正确,代码逻辑与标准答案一致。
信号量初值设置正确,wait/signal操作使用正确。
虽然信号量命名为mutex_1而非mutex,但这不影响逻辑正确性。
因此得满分3分。
题目总分:0+1+3=4分
登录后发布评论
暂无评论,来抢沙发