文章
172
粉丝
0
获赞
1
访问
17.1k

评分及理由
(1)信号量定义及初值(满分2分)
得分:1分
理由:学生定义了三个信号量fin_A、fin_B、fin_C,初值均为0,这基本符合要求。但缺少对E操作完成情况的信号量控制(即标准答案中的S_CE),导致后续同步逻辑不完整。扣除1分。
(2)线程T1的同步逻辑(满分3分)
得分:2分
理由:T1中A操作后V(fin_A)正确,P(fin_C)等待C完成也正确。但缺少对E完成后通知F的同步(标准答案中的S_EF),不过由于F在E之后且在同一线程内,这个错误影响较小。扣除1分。
(3)线程T2的同步逻辑(满分3分)
得分:1分
理由:T2中B操作后V(fin_B)正确,P(fin_A)和P(fin_B)等待A和B完成也正确,C操作后V(fin_C)正确。但存在严重逻辑错误:第二次识别结果中出现了未定义的P(fin_E)(第一次识别结果中有,但第二次已去除),且D操作应该在C完成后立即执行,而学生代码中D在C后直接执行,缺少对C完成的等待(实际上通过fin_C已经间接保证,但信号量设置不完整)。扣除2分。
题目总分:1+2+1=4分
登录后发布评论
暂无评论,来抢沙发