前言
题目太多啦,接上篇哦,操作系统 | PV操作练习题汇总(一)
练习题
8、有一个仓库存放两种零件A和B,最大库容量各为m个,有一个车间不断地取A和B进行装配,每次各取一个。有两组供应商分别不断地供应A和B。为保证齐套和合理库存,当某种零件的数量比另一种的数量超过n(n<m)个时,暂停对数量大的零件的进货,集中补充数量少的零件。试用PV操作正确地实现之。
int mutex=1;
int Sa=n;
int Sb=n;
int emptya=m;
int emptyb=m;
int fulla=0;
int fullb=0;
A入库(){
while(1){
P(emptya);
P(Sa);
P(mutex);
A入库;
V(mutex);
V(Sb);
V(fulla);
}
}
B入库(){
while(1){
P(emptyb);
P(Sb);
P(mutex);
B入库;
V(mutex);
V(Sa);
V(fullb);
}
}
Take(