java5个生产者5个消费者_Java多线程设计模式 第五 生产者-消费者模式

生产者-消费者模式是在生产者与消费者之间加入一个“桥梁参与者”,以这个桥梁参与者缓冲线程之间的处理速度差。

一般来说,可能存在多个生产者与多个消费者,不过也有可能生产者与消费者都只有一个。当

两方都只有一个时,我们也称之为Pipe Pattern.

范例程序中有2名厨师cook1、cook2 不停地做蛋糕放在桌子上,有2名顾客consumer1、consumer2不停地吃(胃口好,吃不饱),程序的行为如下所示:

(1)   厨师(MakerThread)一直做蛋糕(String),放在桌子(Table)上

(2)       桌子上最多可以放3个蛋糕

(3)       桌上已经放满3个蛋糕,厨师会等待,直到有放蛋糕的位置

(4)       顾客(EaterThread)会拿桌子(Table)上的蛋糕去吃,桌子上没有蛋糕时,客人需要等待,直到桌子上有蛋糕为止

生产者-消费者 UML图如下所示

0818b9ca8b590ca3270a3433284dd417.png

源代码:

package com.multithread.producerconsumer;

/**

* 放置蛋糕的桌子

* @author Administrator

* @date 2014-08-02

*/

public class Table {

private f

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值