文章
324
粉丝
0
获赞
2
访问
23.5k
评分及理由
(1)信号量定义部分得分及理由(满分3分)
学生定义了信号量 index1 和 index2,分别用于保护 y 和 z。标准答案需要三个信号量(mutex_y1, mutex_y2, mutex_z)来精细控制对 y 和 z 的并发访问,因为 thread1 和 thread3 会竞争 y,thread2 和 thread3 会竞争 y,thread2 和 thread3 会竞争 z。学生的信号量定义过于简化,未能体现对 y 变量的两种不同竞争关系,存在逻辑错误。但考虑到识别问题,可能意图定义两个信号量。根据标准,思路不完全正确,扣2分。得1分。
(2)thread1代码部分得分及理由(满分1-2分)
学生的thread1代码逻辑混乱,包含无关操作(如w=1, W=add(W)),且P/V操作的对象和位置均不正确,未能正确实现对y的互斥访问。存在严重逻辑错误。根据标准,此部分不得分。得0分。
(3)thread2代码部分得分及理由(满分1-2分)
学生的thread2代码逻辑同样混乱,包含无关操作,且P/V操作的对象和位置错误,未能正确实现对z的互斥访问。存在严重逻辑错误。根据标准,此部分不得分。得0分。
(4)thread3代码部分得分及理由(满分1-2分)
学生的作答中未提供清晰、完整的thread3代码(第二次识别结果中thread3代码缺失,第一次识别结果中thread3代码不完整且错误)。无法判断其对临界区的保护逻辑。根据标准,此部分不得分。得0分。
题目总分:1+0+0+0=1分
登录后发布评论
暂无评论,来抢沙发