文章
77
粉丝
0
获赞
0
访问
7.2k
评分及理由
(1)得分及理由(满分7分)
学生答案在两次识别中均正确定义了四个信号量(mutex、empty、even、odd),含义与标准答案一致。P1、P2、P3的同步与互斥逻辑基本正确,但存在一处关键逻辑错误:在P1进程中,两次识别结果均显示在V(mutex)后执行了V(empty)(第一次识别)或未执行V(empty)(第二次识别),但标准答案中P1不应在放入数据后立即V(empty),而应由消费者(P2或P3)在取走数据后执行V(empty)。第一次识别中P1多写了V(empty),这会导致empty计数错误(多释放空单元),破坏同步;第二次识别中P1缺少V(empty),但根据上下文判断可能是识别遗漏(因为P2和P3中都有V(empty)),且学生答案中P2和P3正确执行了V(empty),因此整体思路正确。但第一次识别中P1的V(empty)是明显错误,扣1分。另外,P2和P3中在P(odd)或P(even)后直接P(mutex),未考虑互斥与同步信号量的顺序问题,但标准答案中也是如此,故不扣分。综上,扣除1分,得6分。
题目总分:6分
登录后发布评论
暂无评论,来抢沙发