文章
49
粉丝
0
获赞
0
访问
1.8k
评分及理由
(1)信号量定义(满分1分)
得分:1分。理由:学生定义了四个信号量empty、odd、even、mutex,含义与标准答案一致,且初始值正确(empty=N, odd=0, even=0, mutex=1)。
(2)P1进程实现(满分2分)
得分:1分。理由:P1中正确使用了P(empty)和P(mutex)来获取缓冲区和互斥访问,并正确根据奇偶性触发V(odd)或V(even)。但存在逻辑错误:在调用produce()生成数据后,未执行put()操作将数据放入缓冲区,缺少关键步骤,因此扣1分。
(3)P2进程实现(满分2分)
得分:2分。理由:P2中正确使用P(odd)等待奇数信号,P(mutex)获取互斥锁,执行getodd()和countodd()后释放互斥锁和缓冲区(V(mutex)和V(empty)),逻辑完整。
(4)P3进程实现(满分2分)
得分:2分。理由:P3中正确使用P(even)等待偶数信号,P(mutex)获取互斥锁,执行geteven()和counteven()后释放互斥锁和缓冲区(V(mutex)和V(empty)),逻辑完整。
题目总分:1+1+2+2=6分
登录后发布评论
暂无评论,来抢沙发