文章
280
粉丝
1
获赞
8
访问
83.9k

评分及理由
(1)信号量定义(满分2分)
得分:2分
理由:学生定义了两个信号量S_A和S_C,分别控制A→C和C→E的同步关系,这与标准答案简化后的思路一致。信号量初值设为0正确。
(2)线程T1实现(满分3分)
得分:3分
理由:T1中操作A完成后V(S_A),操作E前P(S_C),操作F直接执行,完全符合同步要求。虽然操作B在T2中未受信号量控制,但由于B没有前置约束,这种实现是正确的。
(3)线程T2实现(满分3分)
得分:2分
理由:存在一个逻辑错误 - 操作B应该在P(S_A)之前执行。因为C需要等待A和B都完成,但当前代码中P(S_A)在操作B之前,这意味着如果T2先执行到P(S_A)而A尚未完成,T2会阻塞,但此时B也无法执行。这违反了"B无前置约束"的要求。应该先执行操作B,再执行P(S_A)。
题目总分:2+3+2=7分
登录后发布评论
暂无评论,来抢沙发