文章
107
粉丝
0
获赞
0
访问
7.1k

评分及理由
(1)信号量定义部分得分及理由(满分3分)
学生定义了一个mutex信号量用于对w的互斥访问,但w是局部变量,不需要互斥保护。同时定义了x,y,z=1,这不符合信号量定义语法。没有正确识别出需要保护的关键资源是全局变量y和z,特别是y被多个线程共享访问。信号量定义部分存在严重逻辑错误,扣3分。
得分:0分
(2)thread1实现得分及理由(满分1分)
thread1中使用了mutex信号量保护add(x,y)操作,但mutex保护范围过大,会不必要地限制并发性。没有专门针对共享变量y进行细粒度保护。逻辑错误,扣1分。
得分:0分
(3)thread2实现得分及理由(满分1分)
thread2同样使用了全局mutex保护add(y,z)操作,没有分别保护y和z两个共享变量,会降低并发性。逻辑错误,扣1分。
得分:0分
(4)thread3实现得分及理由(满分3分)
thread3中局部变量w的初始化使用了mutex保护,这是不必要的。对z和y的修改尝试使用P(z)、P(y)等操作,但z和y是变量而非信号量,语法错误。没有正确处理对y和z的互斥访问,特别是对y的访问需要与thread1和thread2都互斥。存在严重逻辑错误,扣3分。
得分:0分
题目总分:0+0+0+0=0分
登录后发布评论
暂无评论,来抢沙发