解:
int A=1;
int B=0;
int C=0;
mutex=1;
main()
{ processa();
processb();
processc();
}
processa()
{
while(1)
{
P(A);
P(mutex);
将物品放入容器;
if(放入的是甲){
V(B);
}else {
V(C);
}
}
}
processb()
{
while(1)
{
P(B);
从容器中取出甲;
V(mutex);
V(A);
}
}
processc()
{
while(1)
{
P(C);
从容器中取出乙;
V(mutex);
V(A);
}
}
A可向容器中放甲乙两种物品,B只取甲种物品,C只取乙种物品,A每次只放一种物用品PV原理实现进程A、B、C 3个并行进程的同步
最新推荐文章于 2024-05-20 16:20:04 发布