生产者消费者模式代码java_基于JAVA的生产者消费者问题

一、需求分析

为了更好地理解进程同步的机制和过程,决定设计实现生产者消费者问题的解决,以实现进程的同步控制。

题目描述:有n个生产者在生产产品,这些产品将提供给m个消费者去消费,为了使生产者和消费者能并发执行,在两者之间设置一个具有k个缓冲区的缓冲池,生产者将它生产的产品放入一个缓冲区中,消费者可以从缓冲区中取走产品进行消费,显然生产者和消费者之间必须保持同步,即不允许消费者到一个空的缓冲区中取产品,也不允许生产者向一个已经放入产品的缓冲区中再次投放产品。

由此为题,编程实现:输入生产者个数、消费者个数、缓冲区个数、每个生产者生产产品的个数,实现输出:生产者消费者同步执行情况下的具体执行过程。

二、概要设计

为了简化编码过程,将题目转变成由线程实现同步,以达到相同的目标,并采用Java实现,在控制台将程序执行的整个过程生产者消费者的执行过程输出出来。

设计初步方案:使用Java的Thread来实现线程的生成,并继承Thread类,重写run()方法,来设定线程中的执行代码。

生产者流程图

de1185883c04c736f395efac8da42c54.png

b60b9dbd7c4bae571f53a7c1ab0a0673.png

参考文档和完整的文档和源码下载地址:

https://www.write-bug.com/article/1365.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值