多类生产者-消费者(进程)-操作系统

image.png

这里是多类生产者,生产多种商品,并且有多个消费者消费。

多类生产者和多类消费者问题


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);
    吃掉橘子;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容