文章
118
粉丝
0
获赞
0
访问
48.4k

评分及理由
(1)信号量含义和初值(满分2分)
得分:1分
理由:学生定义了mutex、full、empty三个基本信号量,含义和初值正确(mutex用于缓冲区互斥,初值1;full表示产品数,初值0;empty表示空位数,初值1000)。但新增的cs信号量含义表述为"对count变量进行互斥访问"不够准确,实际上它用于实现"一个消费者连续取10件产品"的互斥控制,初值1正确。扣1分是因为对cs信号量的含义描述不够准确。
(2)生产者进程实现(满分3分)
得分:2分
理由:生产者进程基本正确,实现了与消费者的同步(P(empty)、V(full))和互斥(P(mutex)、V(mutex))。但有一个逻辑错误:生产者在"P(mutex)"后直接写"生产商品",这不符合题意,应该是先把产品放入缓冲区。由于这个逻辑错误,扣1分。
(3)消费者进程实现(满分3分)
得分:1分
理由:学生理解了需要实现连续取10件的控制,使用cs信号量和count变量基本正确。但存在严重逻辑错误:count++应该是count--,因为是从10递减到0;另外缺少消费产品的步骤。由于这两个逻辑错误,扣2分。
题目总分:1+2+1=4分
登录后发布评论
暂无评论,来抢沙发