生产者与消费者模型(多线程)

        关于生产者与消费者模式的问题,是一个经典的多线程问题,与其理解成生产者与消费者问题,不如理解成生产者与销售人员的问题,生产者在工厂将商品生产出,存放在工厂中,如果生产的商品数量达到工厂的最大容纳限度时,就会停止生产,从线程角度理解就是休眠;如果生产的商品数量没有达到最大容纳限度时,就会一直生产,只要生产,就会唤醒销售人员进行销售;销售在销售的时候,如果工厂中没有商品,也就是商品数量为0时,销售人员就回停止销售;从线程角度理解就是休眠;工厂中只要有商品,销售人员就会销售商品;然后唤醒生产者继续生产,

上面大概分析生产者与消费者的题意之后,来分析一下怎样将题意思路转换为代码写作步骤的分析

1.分析所需要的类
    1.工厂类
    2.生产者类
    3.消费者类
    4.测试类
2.分析每个类里边的属性与方法
    2.1工厂类
        1.所需要的属性
            1.用来记录商品数量的变量
            2.固定不变的工厂最大商品数量容纳独
        2.所需要的方法
            1.生产者生产商品,
                1.如果生产的商品数量大于等于最大容纳度,生产者停止生产,也就是线程休眠,不知道具体啥时候被唤醒,所以用无休止休眠,但是线程间的通讯是在同步中操作的,所在定义方法的时候定义成同步方法,
                2.如果生产的商品数量不大于等于最大容纳度,那么将继续生产,商品数量增加,假设生产者每次生产一件商品,只要生产出商品,就会叫销售人员来销售东西
             2.消费者消费产品,
                上面提到将消费者看成销售人员,当商

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值