文章
135
粉丝
93
获赞
1
访问
60.6k

评分及理由
(1)信号量定义得分及理由(满分1分)
学生正确定义了四个信号量:empty、odd、even、mutex,含义与标准答案一致。得1分。
(2)P1进程实现得分及理由(满分2分)
P1进程基本正确:先生成数据,然后P(empty)、P(mutex),放入缓冲区后根据奇偶性V(odd)或V(even)。但存在一个逻辑错误:V(mutex)的位置应该在条件判断之前,否则可能导致消费者在获取互斥锁之前就能收到信号,造成竞态条件。扣1分。得1分。
(3)P2进程实现得分及理由(满分2分)
P2进程正确:先P(odd)等待奇数信号,然后P(mutex)获取缓冲区互斥,取出奇数后V(mutex)释放缓冲区,V(empty)增加空单元,最后统计奇数。得2分。
(4)P3进程实现得分及理由(满分2分)
P3进程正确:先P(even)等待偶数信号,然后P(mutex)获取缓冲区互斥,取出偶数后V(mutex)释放缓冲区,V(empty)增加空单元,最后统计偶数。得2分。
题目总分:1+1+2+2=6分
登录后发布评论
暂无评论,来抢沙发