实验8 多线程“生产者消费者”实验学生姓名: 李亚军 学 号: 6100412196 专业班级: 卓越计科121班 1实验目的“生产者消费者”问题是一个著名的同时性编程问题的集合。通过学习经典的“生产者消费者”问题的实验,读者可以进一步熟悉Linux中的多线程编程,并且掌握用信号量处理线程间的同步和互斥问题。2实验内容“生产者消费者”问题描述如下。有一个有限缓冲区和两个线程:生产者和消费者。他们分别不停地把产品放入缓冲区和从缓冲区中拿走产品。一个生产者在缓冲区满的时候必须等待,一个消费者在缓冲区空的时候也必须等待。另外,因为缓冲区是临界资源,所以生产者和消费者之间必须互斥执行。它们之间的关系如图1所示。图1 生产者消费者问题描述这里要求使用有名管道(将在下一章介绍,可提前了解)来模拟有限缓冲区,并且使用信号量来解决“生产者消费者”问题中的同步和互斥问题。3实验步骤(1)信号量的考虑。这里使用3个信号量,其中两个信号量avail和full分别用于解决生产者和消费者线程之间