实验四同步与互斥
【实验目的和要求】
1、掌握进程(线程)的同步与互斥。
2、掌握生产者消费者问题的实现方法。
3、掌握多线程编程方法。
【实验内容】
实现生产者消费者问题
1、有一个仓库,生产者负责生产产品,并放入仓库,消费者会从仓库中拿走产品(消费)。
2、仓库中每次只能入一个(生产者或消费者)。
3、仓库中可存放产品的数量最多10个,当仓库放满时,生产者不能再放入产品。
4、当仓库空时,消费者不能从中取出产品。
5、生产、消费速度不同。
【实验原理】
信号量mutex
提供对缓冲池访问的互斥要求并初始化为
1,信号量
empty
和full
分别用来表示空缓冲项和满缓冲项的个数,信号量
empty
初始化为
n,信号量
full
初始化为
。2、定义如下结构及数据:
定义缓冲区内的数据类型:typedef
intbuffer_item;
缓冲区:buffer_item
buffer[BUFFER_SIZE];
对缓冲区操作的变量:int
in,out;
信号量mutex提供了对缓冲池访问的互斥要求:pthread_mutex_t
mutex;
信号量empt ...


雷达卡


京公网安备 11010802022788号







