文章
278
粉丝
0
获赞
1
访问
105.2k

评分及理由
(1)信号量定义及初值(满分2分)
学生定义了两个信号量mutex-1和mutex-2,初值均为0,符合同步信号量的初值设置要求。但信号量命名不规范(使用了"-"),考虑到这是识别问题且不影响逻辑,不扣分。信号量作用描述基本正确:mutex-1用于控制C在A和B完成后执行,mutex-2用于控制E在C完成后执行。但mutex-1实际上只同步了A和C,缺少对B的同步控制,这是逻辑错误。扣1分。
得分:1分
(2)线程T1实现(满分3分)
T1中执行A后signal(mutex-1)正确,执行E前wait(mutex-2)正确,执行F直接执行(因为F只需在E后执行,且在同一线程内)正确。但缺少对B完成信号的等待,导致C可能在没有B完成时执行,这是逻辑错误。扣1分。
得分:2分
(3)线程T2实现(满分3分)
T2中执行B后缺少signal操作(应为mutex-1相关信号),执行C前只wait(mutex-1)而缺少对B的同步,执行D直接执行正确(因为D只需在C后执行且在同一线程内),执行C后signal(mutex-2)正确。但由于缺少对B完成信号的同步,扣1分。
得分:2分
题目总分:1+2+2=5分
登录后发布评论
暂无评论,来抢沙发