文章
87
粉丝
0
获赞
0
访问
4.3k
评分及理由
(1)信号量含义和初值(满分2分)
得分:2分
理由:学生定义了四个信号量:mutex(互斥访问缓冲区,初值1)、mutex_out(控制消费者连续取10件产品,初值1)、empty(空位数,初值1000)、full(产品数,初值0)。信号量的含义和初值与标准答案一致,完全正确。
(2)生产者进程实现(满分3分)
得分:3分
理由:生产者进程先P(empty)判断空位,再P(mutex)互斥访问缓冲区,放入产品后V(mutex)释放互斥锁,最后V(full)增加产品计数。同步和互斥操作正确,与标准答案一致。
(3)消费者进程实现(满分3分)
得分:3分
理由:消费者进程先P(mutex_out)获取连续取货权限,然后循环10次,每次先P(full)判断产品,再P(mutex)互斥访问缓冲区,取走产品后V(mutex)释放互斥锁,最后V(empty)增加空位计数。循环结束后V(mutex_out)释放权限。该实现正确保证了消费者连续取10件产品的需求,且互斥和同步逻辑无误。
题目总分:2+3+3=8分
总体评价:学生的作答与标准答案在核心逻辑上完全一致,仅信号量命名略有不同(mutex对应mutex2,mutex_out对应mutex1),但功能和初值正确。生产者与消费者的同步互斥实现正确,且额外条件(消费者连续取10件)通过mutex_out信号量得到满足。无逻辑错误,故得满分。
登录后发布评论
暂无评论,来抢沙发