文章
317
粉丝
1
获赞
711
访问
147.3k

评分及理由
(1)信号量定义及初值(满分2分)
得分:2分
理由:学生定义了5个信号量,名称和初值都正确。fullA对应A信箱邮件数,emptyA对应A信箱空位,full_B对应B信箱邮件数,empty_B对应B信箱空位,mutex用于互斥。虽然full_B和empty_B的下划线使用不一致,但不影响理解,属于可接受的表示方式。
(2)A进程同步互斥操作(满分3.5分)
得分:1分
理由:存在多处逻辑错误:①在取邮件时缺少V(emptyA)操作;②在取邮件后多了一个P(empty_B)操作;③在放入B信箱前重复了P(empty_B)操作;④缺少V(mutex)来释放取邮件时的互斥锁。这些错误导致同步逻辑混乱,可能产生死锁或数据不一致。
(3)B进程同步互斥操作(满分3.5分)
得分:2分
理由:B进程相对A进程正确性更高:①取邮件时正确使用了P(full_B)和P(mutex);②取邮件后正确释放了互斥锁V(mutex);③但缺少V(empty_B)操作;④在放入A信箱前重复了P(emptyA)操作。虽然存在同步信号量操作缺失和重复的问题,但基本框架正确。
题目总分:2+1+2=5分
登录后发布评论
暂无评论,来抢沙发