Java线程-并发协作(生产者消费者模型)_第1页
Java线程-并发协作(生产者消费者模型)_第2页
Java线程-并发协作(生产者消费者模型)_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java线程:并发协作(生产者消费者模型)实际上,精确说应当是“生产者-消费者-仓储”模型,离开了仓储,生产者消费者模型就显得没有说服力了。

对于此模型,应当明确一下几点:

1、生产者仅仅在仓储未满时候生产,仓满则停顿生产。

2、消费者仅仅在仓储有产品时候才能消费,仓空则等待。

3、当消费者发觉仓储没产品可消费时候会通知生产者生产。

4、生产者在生产出可消费产品时候,应当通知等待的消费者去消费。

此模型将要结合java.lang.Object的wait与notify、notifyAll方法来实现以上的需求。这是特别重要的。

/**

*Java线程:并发协作-生产者消费者模型

*/

publicclassTest{

publicstaticvoidmain(String[]args){

Godowngodown=newGodown(30);

Consumerc1=newConsumer(50,godown);

Consumerc2=newConsumer(20,godown);

Consumerc3=newConsumer(30,godown);

Producerp1=newProducer(10,godown);

Producerp2=newProducer(10,godown);

Producerp3=newProducer(10,godown);

Producerp4=newProducer(10,godown);

Producerp5=newProducer(10,godown);

Producerp6=newProducer(10,godown);

Producerp7=newProducer(80,godown);

c1.start();

c2.start();

c3.start();

p1.start();

p2.start();

p3.start();

p4.start();

p5.start();

p6.start();

p7.start();

}

}

/**

*仓库

*/

classGodown{

publicstaticfinalintmax_size=100;//库存量

publicintcurnum;//当前库存量

Godown(){

}

Godown(intcurnum){

this.c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论