文章
50
粉丝
0
获赞
0
访问
2.4k
semaphore me=1;//用于实现缓冲区互斥使用
semaphore empty=N;//用于记录缓冲区空白单元
int j=0;//用于记录奇数个数
int o=0;//用于记录偶数个数
int n;//用于记录生成的数
P1{
while(1){
P(N)
P(me)
n=produce()
if(n%2==0){
o++;
}else{
j++;
}
put()
V(me)
}
}
P2{
while(1){
if(j>0){
P(me);
getodd();
countodd();
j--;
V(empty);
V(me);
}
}
}
P3{
while(1){
if(o>0){
P(me);
geteven();
counteven();
o--;
V(empty);
V(me);
}
}
}
评分及理由
(1)得分及理由(满分7分)
学生答案存在多处逻辑错误:
登录后发布评论
暂无评论,来抢沙发