文章
133
粉丝
0
获赞
0
访问
13.6k

评分及理由
(1)信号量定义得分及理由(满分2分)
得分:1分
理由:学生定义了mutex用于缓冲区互斥(初值1正确),room用于空位计数(初值1000正确),但缺少full信号量用于产品计数。Lock信号量用于消费者连续取产品的互斥(初值1正确),consumer_mutex用于检查产品个数(初值1正确),但count变量未说明如何维护。缺少full信号量扣1分。
(2)生产者进程实现得分及理由(满分1分)
得分:0分
理由:生产者进程中缺少V(full)操作来通知消费者有新产品,且生产产品后没有释放mutex,这是严重的逻辑错误。生产者与消费者的同步关系完全错误。
(3)生产者与消费者同步得分及理由(满分2分)
得分:0分
理由:生产者没有V(full),消费者没有P(full),基本的同步关系缺失。消费者通过count判断产品数量而非通过信号量机制,这是错误的实现方式。
(4)消费者互斥得分及理由(满分1分)
得分:1分
理由:使用Lock信号量确保一个消费者连续取10件产品期间其他消费者不能取产品,这个思路正确,实现基本合理。
(5)连续取产品控制得分及理由(满分2分)
得分:1分
理由:通过for循环连续取10件产品的控制逻辑正确,但实现细节有问题(缺少P(full)和正确的mutex使用)。由于基本思路正确,给1分。
题目总分:1+0+0+1+1=3分
登录后发布评论
暂无评论,来抢沙发