文章
986
粉丝
5
获赞
20
访问
252.2k

评分及理由
(1)信号量定义得分及理由(满分3分)
学生定义了4个信号量:mutex_x、mutex_y、mutex_z、mutex_w。其中mutex_x、mutex_y、mutex_z的定义是合理的,分别保护x、y、z变量。但mutex_w的定义不合理,因为每个线程中的w都是局部变量,不需要互斥保护。信号量定义部分得2分(扣1分)。
(2)thread1实现得分及理由(满分1分)
thread1中正确使用了mutex_x和mutex_y来保护对x和y的访问,但多用了不必要的mutex_w。由于保护逻辑正确,得1分。
(3)thread2实现得分及理由(满分2分)
thread2中正确使用了mutex_y和mutex_z来保护对y和z的访问,但第二次识别结果中V操作误写为V(mutex_x)而不是V(mutex_y),这是明显的逻辑错误。另外多用了不必要的mutex_w。得1分(扣1分)。
(4)thread3实现得分及理由(满分2分)
thread3中正确使用了mutex_z和mutex_y来保护对z和y的访问,但代码中"z = add(y, w)"应为"y = add(y, w)",这是逻辑错误。另外多用了不必要的mutex_w。得1分(扣1分)。
题目总分:2+1+1+1=5分
登录后发布评论
暂无评论,来抢沙发