代码如下:

package BoxPack01;public class Box {private int milk;private boolean state = false;public synchronized void put(int milk){if (state){try {wait();} catch (InterruptedException e) {e.printStackTrace();}}this.milk = milk;System.out.println("送奶工将第"+this.milk+"瓶奶放入奶箱");state = true;notifyAll();}public synchronized void get(){if (!state){try {wait();} catch (InterruptedException e) {e.printStackTrace();}}System.out.println("用户拿到第"+this.milk+"瓶奶");state = false;notifyAll();}}
package BoxPack01;public class Producer implements Runnable{private Box b;public Producer(Box b) {this.b = b;}@Overridepublic void run() {for (int i = 1;i<=5;i++){b.put(i);}}
}
package BoxPack01;public class Customer implements Runnable{private Box b;public Customer(Box b) {this.b = b;}@Overridepublic void run() {while(true){b.get();}}
}
package BoxPack01;public class BoxDemo {public static void main(String[] args){Box b = new Box();Producer p = new Producer(b);Customer c = new Customer(b);Thread t1 = new Thread(p);Thread t2 = new Thread(c);t1.start();t2.start();}}

[Java基础]生产者和消费者模式概述与案例分析相关推荐

  1. Java20-day11【实现多线程(进程、线程-调度-控制-生命周期)、线程同步(同步代码块、线程安全、Lock)、生产者消费者(模式概述、案例)】

    视频+资料[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg   提取码:zjxs] Java基础--学习笔记(零起点打开java世界的大门)--博 ...

  2. java实现生产者和消费者模式

    2019独角兽企业重金招聘Python工程师标准>>> 1.首先写生产者消费者的类 package sunhuaili; import java.util.concurrent.lo ...

  3. Java基础进阶多线程-生产者和消费者模式

    1.什么是"生产者和消费者模式"? 生产线程负责生产,消费线程负责消费 生产线程和消费线程要达到均衡 这是一种特殊的业务需求,在这种特殊的情况下需要使用wait方法和notify方 ...

  4. Java多线模式-Producer-Consumer模式(生产者、消费者模式)

    1.场景 有些时候需要两个或两个以上的线程协同工作,每个线程需要使用其他线程产生数据. 2.详细说明 可以把上面的场景抽象成生产者和消费者模式.从消费者的角度:消费者需要消费生产者生成的产品. 从生产 ...

  5. Java并发编程系列18:多线程之生产者和消费者模式_信号灯法(wait/notify通知机制)

    1.生产者消费者模式 生产者消费者问题(Producer-consumer problem),也称为有限缓冲问题(Bounded-buffer problem),是一个多线程同步问题的经典案例.该问题 ...

  6. 线程间的协作(2)——生产者与消费者模式

    2019独角兽企业重金招聘Python工程师标准>>> 1.何为生产者与消费者 在线程世界里,生产者就是生产数据的线程,消费者就是消费数据的线程. import java.util. ...

  7. Java中生产者和消费者总结

    生产者和消费者问题是线程模型中的经典问题,生产者和消费者在同一时间段共用同一个存储空间,这个存储空间是一个缓冲区的仓库,生产者可以将产品放入仓库,消费者可以从仓库中取出产品. 生产者/消费者模型是基于 ...

  8. 生产者与消费者模式的概念、运用、3种实现

    生产者与消费者模式的概念.运用.3种实现 本文为笔者的学习整理总结,因此,若有任何不严谨或错误之处,还望不吝指教! 内容: 一. 概念 二. 运用 三. 实现1. Sychronized.wait.n ...

  9. 设计模式-生产者与消费者模式

    最近正在看C++日志的开源代码,其中多个线程需要向文件中写入日志信息,该将该算法逻辑抽象出来的话就是生产者与消费者设计模式.常见的生产者与消费者模式主要分为四类:单生产者与单消费者模式.单生产者与多消 ...

最新文章

  1. 马斯克入选美国工程院院士,张宏江博士入选外籍院士
  2. linux之ip route命令
  3. 计算机房档案管理,机房档案资料管理制度
  4. easyui layout 收缩的bug
  5. 祝贺自己的软件《万能数据库查询分析器》在中关村在线下载量超过10万次
  6. Mac OS X Tips
  7. SQL最全基础教程(有本事别看啊!)
  8. 所有地区身份证开头(校验用户填写身份信息)
  9. Unity3D中unitypackage文件的图标显示及打开方式异常问题的解决方法(值得收藏)
  10. 不知道文字识别工具有哪些?来看看这几个好用的软件
  11. 【AtCoder】【思维】【图论】Splatter Painting(AGC012)
  12. PyTorch+YOLOv5环境搭建(未完待续)
  13. 操作符(运算符)详解
  14. 降本提效,贝壳搜索推荐架构统一之路
  15. 深圳绿道最全资料合集
  16. python适合在什么平台运行-Python 可以在多种平台运行,
  17. 2021-02-18-ctf-坚持60s-反编译
  18. 滚石导航网站源码v3.0 织梦模板+测试版+非常适合网址导航网站使用
  19. PMBOK(第五版)学习笔记 —— 5 项目范围管理
  20. 苏州大学深夜通报:开除学籍

热门文章

  1. 【遥感数字图像处理】实验:遥感图像分析方法大全(Erdas版)
  2. SQL Server 2005登录名,用户名,角色,架构之间的关系
  3. 数据结构之判断一棵树是不是满二叉树
  4. 剑指offer之快速排序
  5. 均分纸牌(经典贪心)
  6. Android之放大镜实现的两种方式
  7. 两点之间直线只有一条,曲线却有无数条,哪条才是最短的?
  8. 豆瓣评分9.4分!这部大片你不应该错过,每一秒都是不敢看的残忍!
  9. 培养有见识的孩子,这6部适合孩子的纪录片,在家也能涨知识!
  10. 不是说好一起长大的吗?