文章

986

粉丝

5

获赞

20

访问

252.2k

头像
2017年(408)计算机学科专业基础综合试题 - 第46题回答
操作系统
发布于2025年11月29日 14:30
阅读数 164


评分及理由

(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分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发