文章
297
粉丝
0
获赞
1
访问
182.5k

评分及理由
(1)信号量定义部分得分及理由(满分3分)
学生答案中未定义任何信号量,直接使用了变量名(如y、z、w)作为P/V操作的参数,这不符合信号量的使用规范。标准答案中定义了三个信号量(mutex_y1、mutex_y2、mutex_z)用于保护临界资源。学生答案在此部分完全缺失,因此扣3分。得分:0分。
(2)thread1实现得分及理由(满分1分)
thread1中使用了P(y)和V(w),但y和w是变量而非信号量,且w是局部变量,无法实现线程间同步。逻辑错误严重,未能保护对y的访问。扣1分。得分:0分。
(3)thread2实现得分及理由(满分1分)
thread2中使用了P(z)和V(w),同样误用变量作为信号量,且未保护y的访问(标准答案需同时锁y和z)。逻辑错误,扣1分。得分:0分。
(4)thread3实现得分及理由(满分3分)
thread3中使用了P(w)(w为局部变量,无效)、V(y)和V(z),但未正确定义信号量,且对y和z的访问未按标准答案顺序加锁(需先锁z,再锁y1和y2)。逻辑错误,扣3分。得分:0分。
题目总分:0+0+0+0=0分
登录后发布评论
暂无评论,来抢沙发