生产者与消费者模型:假定在numproducers个生产者和numconsumers个消费者之间有n个缓冲区,此时利用互斥信号量mutex实现诸进程对缓冲池的互斥使用;利用信号量empty和full分别表示缓冲区中空缓冲区和满缓冲区的数量,且只要缓冲区未满,生产者便可将商品送入缓冲池,否则,生产者将等待缓冲区未满;只要缓冲区未空,消费者便可以缓冲区中取走一个商品并使用,否则消费者将等待。
程序输出:
[Producer1, goods1]表示: 生产者1(Producer1) 生产 商品1(goods1);
Consumer2 get => [Producer1, goods1] 表示: 消费者2(Conseumer2) 得到 生产者1(Producer1) 生产的商品1(goods1);
C代码