文章
37
粉丝
0
获赞
0
访问
1.8k
评分及理由
(1)信号量定义(满分1分)
得分:1分
理由:学生定义了四个信号量:mutex用于互斥(正确),empty用于缓冲区空单元计数(正确),full1用于奇数计数(相当于标准答案的odd),full2用于偶数计数(相当于标准答案的even)。信号量含义与标准答案一致,只是命名不同,但功能正确,因此不扣分。
(2)P1进程实现(满分2分)
得分:2分
理由:P1进程先生产数据,然后P(empty)检查空单元,再P(mutex)互斥访问缓冲区,执行Put操作后释放互斥锁,最后根据数据奇偶性V(full2)或V(full1)通知消费者。逻辑与标准答案完全一致,仅函数名有细微差异(如Produce1 vs produce),但属于误写或不影响逻辑,因此不扣分。
(3)P2进程实现(满分2分)
得分:2分
理由:P2进程先P(full1)等待奇数信号,再P(mutex)互斥访问缓冲区,执行getodd操作后释放互斥锁,V(empty)增加空单元计数,最后统计奇数。逻辑正确,仅函数名(getodd1 vs getodd)有误写,但不影响核心逻辑。
(4)P3进程实现(满分2分)
得分:2分
理由:P3进程先P(full2)等待偶数信号,再P(mutex)互斥访问缓冲区,执行geteven操作后释放互斥锁,V(empty)增加空单元计数,最后统计偶数。逻辑正确,函数名差异(geteven1 vs geteven)视为误写。
题目总分:1+2+2+2=7分
登录后发布评论
暂无评论,来抢沙发