文章
317
粉丝
1
获赞
710
访问
146.6k

评分及理由
(1)信号量定义及初值(满分2分)
得分:0分
理由:学生定义了mutex、empty和B[N]三个信号量,但存在多处错误。empty初值应为1000(缓冲区容量),但学生写为100或N(未明确);B[N]作为信号量数组使用不符合题意,且未正确初始化;缺少控制连续取产品的专用信号量(如mutex1)和同步信号量full。信号量定义不完整且含义不明确,无法得分。
(2)生产者进程实现(满分2分)
得分:0分
理由:生产者进程仅使用mutex实现互斥,但缺少对缓冲区空位的同步控制(无P(empty)操作),且产品放入缓冲区的逻辑不完整(未实际放入缓冲区)。生产者之间的互斥操作正确但同步操作完全缺失,不符合生产者-消费者基本模型。
(3)消费者进程实现(满分4分)
得分:0分
理由:消费者进程存在严重逻辑错误:①使用死循环while(1)内嵌套死循环,且break位置不当导致无法正常释放互斥锁;②未实现连续取10件产品的控制机制;③缺少对缓冲区产品数量的同步控制(无P(full)操作);④对缓冲区的操作逻辑混乱(front++和front--同时存在)。消费者之间的互斥和同步操作均未正确实现。
题目总分:0+0+0=0分
登录后发布评论
暂无评论,来抢沙发