文章
36
粉丝
0
获赞
0
访问
2.2k
评分及理由
(1)信号量定义(满分2分)
得分:2分
理由:学生定义了四个信号量,与标准答案完全一致。mutex用于缓冲区互斥,empty用于空缓冲区计数,numOdd和numEven分别对应标准答案中的odd和even信号量,只是命名不同但含义相同,这是允许的。
(2)P1进程实现(满分2分)
得分:1分
理由:存在一个逻辑错误。在P1中,学生先生成数据再判断奇偶性并释放相应信号量,这个逻辑是正确的。但是缺少了关键的put()操作,没有将生成的数据放入缓冲区,这是一个严重的逻辑错误,扣1分。
(3)P2进程实现(满分1.5分)
得分:1.5分
理由:实现完全正确。P(numOdd)获取奇数信号,P(mutex)获取缓冲区互斥锁,getodd()取出奇数,countodd()统计,V(mutex)释放互斥锁,V(empty)释放空缓冲区单元,逻辑顺序正确。
(4)P3进程实现(满分1.5分)
得分:1.5分
理由:实现完全正确。P(numEven)获取偶数信号,P(mutex)获取缓冲区互斥锁,geteven()取出偶数,counteven()统计,V(mutex)释放互斥锁,V(empty)释放空缓冲区单元,逻辑顺序正确。
题目总分:2+1+1.5+1.5=6分
登录后发布评论
暂无评论,来抢沙发