文章
324
粉丝
0
获赞
2
访问
22.9k
评分及理由
(1)信号量定义及初值(满分2分)
学生定义了AC和CE两个信号量,与标准答案简化后的方案一致。AC初值在第一次识别中为"D"(识别错误,应为0),第二次识别为1,存在矛盾。但标准答案中AC初值为0,学生第二次识别为1,这是错误的,会导致B先于A执行时C可能无法等待A完成。CE初值正确为0。信号量定义正确,但AC初值错误。扣1分。
(2)T1线程同步操作(满分3分)
T1中执行A后V(AC),然后P(CE)等待C完成,再执行E和F。顺序正确,与标准答案简化方案一致。但E和F之间缺少对E完成信号的等待(标准答案中E和F在同一线程,无需信号量,但学生方案中F直接在E后执行,未考虑E完成信号,不过由于E和F在同一线程,实际可以顺序执行,因此不扣分)。T1同步逻辑正确。得3分。
(3)T2线程同步操作(满分3分)
T2中执行B后P(AC)等待A完成,然后执行C,再V(CE)通知E,最后执行D。顺序正确,与标准答案简化方案一致。但缺少对C完成信号的通知(标准答案中C完成后需要通知D和E,但学生方案中D直接在C后执行,未使用信号量,由于D和C在同一线程,可以顺序执行,因此不扣分)。T2同步逻辑正确。得3分。
题目总分:1+3+3=7分
登录后发布评论
暂无评论,来抢沙发