文章
110
粉丝
0
获赞
0
访问
7.4k

评分及理由
(1)信号量定义得分及理由(满分3分)
学生定义了三个信号量:mutex_y1、mutex_y2、mutex_z,与标准答案完全一致,分别用于保护y变量在thread1和thread3之间的访问、y变量在thread2和thread3之间的访问、z变量的互斥访问。因此得3分。
(2)thread1代码得分及理由(满分1分)
thread1中正确使用了P(mutex_y1)和V(mutex_y1)来保护对y的访问(在add(x,y)中),实现与thread3的互斥。虽然代码中变量类型写成了"(num"和"num"(应为cnum),但这是识别错误,不扣分。因此得1分。
(3)thread2代码得分及理由(满分2分)
thread2中正确使用了P(mutex_y2)和P(mutex_z)来保护对y和z的访问(在add(y,z)中),并按照与申请相反的顺序释放信号量。实现与thread3的互斥。因此得2分。
(4)thread3代码得分及理由(满分2分)
thread3中:
因此thread3部分得2分。
题目总分:3+1+2+2=8分
登录后发布评论
暂无评论,来抢沙发