文章
94
粉丝
0
获赞
1
访问
14.3k
semaphore emptyA=2; //A 型产品可用空位
semaphore emptyB=2; //B 型产品可用空位
semaphore fullA=0; //A 型产品数量
semaphore fullB=0; //B 型产品数量
semaphore mutex=1; //缓冲区互斥锁
cobegin(){
进程P1(){
while(1){
生产A产品;
P(emptyA);
P(mutex);
把A产品放入缓冲区;
V(mutex);
V(fullA);
}
}
进程P2(){
while(1){
生产B产品;
P(emptyB);
P(mutex);
把B产品放入缓冲区;
V(mutex);
V(fullB);
}
}
进程C1(){
while(1){
P(fullA);
P(mutex);
把A产品从缓冲区取走;
V(mutex);
V(emptyA);
消费A产品
}
}
进程C2(){
while(1){
P(fullB);
P(mutex);
把B产品从缓冲区取走;
V(mutex);
V(emptyB);
消费B产品
}
}
}
(2)(2+1+2+1)*3=18
评分及理由
(1)得分及理由(满分5分)
得分:4分
理由:
(2)得分及理由(满分2分)
得分:2分
理由:
题目总分:4+2=6分
登录后发布评论
暂无评论,来抢沙发