文章
178
粉丝
0
获赞
1
访问
15.7k

评分及理由
(1)信号量定义及初值(满分2分)
学生定义了4个信号量mutexA、mutexB、mutexC、mutexE,初值均为0,这与标准答案中关键同步信号量的设置一致。虽然命名方式不同(标准答案使用S_AC、S_CE等),但功能对应正确:mutexA对应S_AC,mutexB对应S_BC,mutexC对应S_CE,mutexE对应S_EF。所有信号量初值正确设为0。得2分。
(2)线程T1的同步操作(满分3分)
T1中:A操作后执行V(mutexA)正确;E操作前执行P(mutexC)正确(等待C完成),E操作后执行V(mutexE)正确(通知F可以执行);F操作前执行P(mutexE)正确。所有同步关系处理正确。得3分。
(3)线程T2的同步操作(满分3分)
T2中:B操作后执行V(mutexB)正确;C操作前执行P(mutexA)和P(mutexB)正确(等待A和B完成),C操作后执行V(mutexC)正确(通知E可以执行);D操作前执行P(mutexC)这里存在逻辑错误,因为D只需要在C完成后执行,而mutexC在C完成后已被置1,这里再次P(mutexC)会导致D无法执行(信号量值变为0)。标准答案中D不需要等待信号量。扣1分。得2分。
题目总分:2+3+2=7分
登录后发布评论
暂无评论,来抢沙发