文章
83
粉丝
93
获赞
1
访问
8.1k

评分及理由
(1)信号量定义及初值(满分2分)
得分:1分
理由:学生定义了fullA、fullB、mutexA、mutexB四个信号量,初值设置正确。但缺少Empty_A和Empty_B两个同步信号量,只完成了一半的信号量定义要求,因此扣1分。
(2)A进程同步互斥实现(满分3.5分)
得分:2分
理由:A进程中,取邮件的互斥操作正确(P(mutexA)和V(mutexA)),同步操作P(fullA)正确。但放邮件时没有使用Empty_B信号量进行同步,而是用while循环检查,这是错误的同步实现方式。放邮件的互斥操作正确。由于同步实现存在逻辑错误,扣1.5分。
(3)B进程同步互斥实现(满分3.5分)
得分:2分
理由:B进程中,取邮件的互斥操作正确(P(mutexB)和V(mutexB)),同步操作P(fullB)正确。但放邮件时没有使用Empty_A信号量进行同步,而是用while循环检查,且条件判断中误写了"N - fullA"(应该是M - fullA),这是错误的同步实现方式。放邮件的互斥操作正确。由于同步实现存在逻辑错误,扣1.5分。
题目总分:1+2+2=5分
登录后发布评论
暂无评论,来抢沙发