文章
302
粉丝
0
获赞
15
访问
53.1k

评分及理由
(1)信号量定义及初值(满分2分)
得分:2分
理由:学生定义了Semaphore A=0和C=0,这与标准答案中S_AC和S_CE的作用一致,初值设置正确。虽然信号量命名与标准答案不同,但功能等价,符合同步需求。
(2)线程T1的同步操作(满分3分)
得分:3分
理由:T1中执行A后signal(A),执行E前wait(C),执行F无需等待,这与标准答案中T1的同步逻辑完全一致。虽然操作顺序在代码中未明确标注,但通过信号量使用能正确实现A→C→E→F的同步关系。
(3)线程T2的同步操作(满分3分)
得分:2分
理由:T2中存在一处逻辑错误。执行B后直接signal(C)是不正确的,因为C需要等待A和B都完成,而此处signal(C)在wait(A)之前执行,可能导致E在C未完成时就被执行。正确的顺序应该是先wait(A)确保A完成,再执行C,最后signal(C)通知E。此外,执行D无需等待,这一点正确。由于存在一处关键同步错误,扣1分。
题目总分:2+3+2=7分
登录后发布评论
暂无评论,来抢沙发