新建
上传
首页
助手
最?/div>
资料?/div>
工具

 

实验?/p>

 

同步与互?/p>

 

 

 

【实验目的和要求?/p>

 

1

、掌握进程(线程)的同步与互斥?/p>

 

2

、掌握生产者消费者问题的实现方法?/p>

 

3

、掌握多线程编程方法?/p>

 

 

【实验内容?/p>

 

实现生产者消费者问?/p>

 

1

、有一个仓库,生产者负责生产产品,并放入仓库,消费者会从仓库中拿走?/p>

?/p>

(

消费

)

?/p>

 

2

、仓库中每次只能入一?/p>

(

生产者或消费?/p>

)

?/p>

 

3

、仓库中可存放产品的数量最?/p>

10

?/p>

,

当仓库放满时,生产者不能再放入?/p>

品?/p>

 

4

、当仓库空时,消费者不能从中取出产品?/p>

 

5

、生产、消费速度不同?/p>

 

 

【实验原理?/p>

 

1

、信号量

mutex

提供对缓冲池访问的互斥要求并初始化为

1

,信号量

empty

?/p>

full

分别用来表示空缓冲项和满缓冲项的个数,信号量

empty

初始化为

n

?/p>

信号?/p>

full

初始化为

0

?/p>

 

 

 

 

 

 

 

 

 

 

 

2

、定义如下结构及数据?/p>

   

定义缓冲区内的数据类型:

typedef

 

int

 

buffer_item;

  

Ͼλ
新建
上传
首页
助手
最?/div>
资料?/div>
工具

 

实验?/p>

 

同步与互?/p>

 

 

 

【实验目的和要求?/p>

 

1

、掌握进程(线程)的同步与互斥?/p>

 

2

、掌握生产者消费者问题的实现方法?/p>

 

3

、掌握多线程编程方法?/p>

 

 

【实验内容?/p>

 

实现生产者消费者问?/p>

 

1

、有一个仓库,生产者负责生产产品,并放入仓库,消费者会从仓库中拿走?/p>

?/p>

(

消费

)

?/p>

 

2

、仓库中每次只能入一?/p>

(

生产者或消费?/p>

)

?/p>

 

3

、仓库中可存放产品的数量最?/p>

10

?/p>

,

当仓库放满时,生产者不能再放入?/p>

品?/p>

 

4

、当仓库空时,消费者不能从中取出产品?/p>

 

5

、生产、消费速度不同?/p>

 

 

【实验原理?/p>

 

1

、信号量

mutex

提供对缓冲池访问的互斥要求并初始化为

1

,信号量

empty

?/p>

full

分别用来表示空缓冲项和满缓冲项的个数,信号量

empty

初始化为

n

?/p>

信号?/p>

full

初始化为

0

?/p>

 

 

 

 

 

 

 

 

 

 

 

2

、定义如下结构及数据?/p>

   

定义缓冲区内的数据类型:

typedef

 

int

 

buffer_item;

  

">
新建
上传
首页
助手
最?/div>
资料?/div>
工具

 

实验?/p>

 

同步与互?/p>

 

 

 

【实验目的和要求?/p>

 

1

、掌握进程(线程)的同步与互斥?/p>

 

2

、掌握生产者消费者问题的实现方法?/p>

 

3

、掌握多线程编程方法?/p>

 

 

【实验内容?/p>

 

实现生产者消费者问?/p>

 

1

、有一个仓库,生产者负责生产产品,并放入仓库,消费者会从仓库中拿走?/p>

?/p>

(

消费

)

?/p>

 

2

、仓库中每次只能入一?/p>

(

生产者或消费?/p>

)

?/p>

 

3

、仓库中可存放产品的数量最?/p>

10

?/p>

,

当仓库放满时,生产者不能再放入?/p>

品?/p>

 

4

、当仓库空时,消费者不能从中取出产品?/p>

 

5

、生产、消费速度不同?/p>

 

 

【实验原理?/p>

 

1

、信号量

mutex

提供对缓冲池访问的互斥要求并初始化为

1

,信号量

empty

?/p>

full

分别用来表示空缓冲项和满缓冲项的个数,信号量

empty

初始化为

n

?/p>

信号?/p>

full

初始化为

0

?/p>

 

 

 

 

 

 

 

 

 

 

 

2

、定义如下结构及数据?/p>

   

定义缓冲区内的数据类型:

typedef

 

int

 

buffer_item;

  

Ͼλ">
Ͼλ
Ŀ

实验?同步与互?Linux实验报告 - 百度文库
新建
上传
首页
助手
最?/div>
资料?/div>
工具

 

实验?/p>

 

同步与互?/p>

 

 

 

【实验目的和要求?/p>

 

1

、掌握进程(线程)的同步与互斥?/p>

 

2

、掌握生产者消费者问题的实现方法?/p>

 

3

、掌握多线程编程方法?/p>

 

 

【实验内容?/p>

 

实现生产者消费者问?/p>

 

1

、有一个仓库,生产者负责生产产品,并放入仓库,消费者会从仓库中拿走?/p>

?/p>

(

消费

)

?/p>

 

2

、仓库中每次只能入一?/p>

(

生产者或消费?/p>

)

?/p>

 

3

、仓库中可存放产品的数量最?/p>

10

?/p>

,

当仓库放满时,生产者不能再放入?/p>

品?/p>

 

4

、当仓库空时,消费者不能从中取出产品?/p>

 

5

、生产、消费速度不同?/p>

 

 

【实验原理?/p>

 

1

、信号量

mutex

提供对缓冲池访问的互斥要求并初始化为

1

,信号量

empty

?/p>

full

分别用来表示空缓冲项和满缓冲项的个数,信号量

empty

初始化为

n

?/p>

信号?/p>

full

初始化为

0

?/p>

 

 

 

 

 

 

 

 

 

 

 

2

、定义如下结构及数据?/p>

   

定义缓冲区内的数据类型:

typedef

 

int

 

buffer_item;

  



ļ׺.doc޸Ϊ.docĶ

  • ԱиƵʹõԢԹ¼ʾ
  • dz쵼ӰĹϵ
  • Դﲡ
  • յϴȫ
  • ڶ Ȼʯ
  • 2018괺ܽ
  • 2019мʦB ()
  • ɲ۽ṹ
  • ս̰꼶ѧ²̰ȫᣩ
  • 2019עһʦȫʵ

վ

԰ Ͼλ
ϵͷ779662525#qq.com(#滻Ϊ@)