这里是多类生产者,生产多种商品,并且有多个消费者消费。
多类生产者和多类消费者问题
semaphore mutex =1; //盘子是临界资源 互斥
semaphore apple = 0; //同步信号量 苹果 爸爸->女儿
semaphore orange = 0; //同步信号量 橘子 妈妈->儿子
semaphore empty = 1;//同步信号量 盘子 儿子->妈妈,女儿->爸爸
father{
准备苹果;
P(empty);
P(mutex);
使用盘子,放苹果;
V(mutex);
V(apple);
}
daughter{
P(apple);
P(mutex);
使用盘子,取苹果;
V(mutex);
V(empty);
吃掉苹果;
}
mother{
准备橘子;
P(empty);
P(mutex);
使用盘子,放橘子;
V(mutex);
V(orange);
}
son{
P(orange);
P(mutex);
使用盘子,取橘子;
V(mutex);
V(empty);
吃掉橘子;
}
网友评论