[Java基础]生产者和消费者模式概述与案例分析
代码如下:
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基础]生产者和消费者模式概述与案例分析相关推荐
- Java20-day11【实现多线程(进程、线程-调度-控制-生命周期)、线程同步(同步代码块、线程安全、Lock)、生产者消费者(模式概述、案例)】
视频+资料[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg 提取码:zjxs] Java基础--学习笔记(零起点打开java世界的大门)--博 ...
- java实现生产者和消费者模式
2019独角兽企业重金招聘Python工程师标准>>> 1.首先写生产者消费者的类 package sunhuaili; import java.util.concurrent.lo ...
- Java基础进阶多线程-生产者和消费者模式
1.什么是"生产者和消费者模式"? 生产线程负责生产,消费线程负责消费 生产线程和消费线程要达到均衡 这是一种特殊的业务需求,在这种特殊的情况下需要使用wait方法和notify方 ...
- Java多线模式-Producer-Consumer模式(生产者、消费者模式)
1.场景 有些时候需要两个或两个以上的线程协同工作,每个线程需要使用其他线程产生数据. 2.详细说明 可以把上面的场景抽象成生产者和消费者模式.从消费者的角度:消费者需要消费生产者生成的产品. 从生产 ...
- Java并发编程系列18:多线程之生产者和消费者模式_信号灯法(wait/notify通知机制)
1.生产者消费者模式 生产者消费者问题(Producer-consumer problem),也称为有限缓冲问题(Bounded-buffer problem),是一个多线程同步问题的经典案例.该问题 ...
- 线程间的协作(2)——生产者与消费者模式
2019独角兽企业重金招聘Python工程师标准>>> 1.何为生产者与消费者 在线程世界里,生产者就是生产数据的线程,消费者就是消费数据的线程. import java.util. ...
- Java中生产者和消费者总结
生产者和消费者问题是线程模型中的经典问题,生产者和消费者在同一时间段共用同一个存储空间,这个存储空间是一个缓冲区的仓库,生产者可以将产品放入仓库,消费者可以从仓库中取出产品. 生产者/消费者模型是基于 ...
- 生产者与消费者模式的概念、运用、3种实现
生产者与消费者模式的概念.运用.3种实现 本文为笔者的学习整理总结,因此,若有任何不严谨或错误之处,还望不吝指教! 内容: 一. 概念 二. 运用 三. 实现1. Sychronized.wait.n ...
- 设计模式-生产者与消费者模式
最近正在看C++日志的开源代码,其中多个线程需要向文件中写入日志信息,该将该算法逻辑抽象出来的话就是生产者与消费者设计模式.常见的生产者与消费者模式主要分为四类:单生产者与单消费者模式.单生产者与多消 ...
最新文章
- 马斯克入选美国工程院院士,张宏江博士入选外籍院士
- linux之ip route命令
- 计算机房档案管理,机房档案资料管理制度
- easyui layout 收缩的bug
- 祝贺自己的软件《万能数据库查询分析器》在中关村在线下载量超过10万次
- Mac OS X Tips
- SQL最全基础教程(有本事别看啊!)
- 所有地区身份证开头(校验用户填写身份信息)
- Unity3D中unitypackage文件的图标显示及打开方式异常问题的解决方法(值得收藏)
- 不知道文字识别工具有哪些?来看看这几个好用的软件
- 【AtCoder】【思维】【图论】Splatter Painting(AGC012)
- PyTorch+YOLOv5环境搭建(未完待续)
- 操作符(运算符)详解
- 降本提效,贝壳搜索推荐架构统一之路
- 深圳绿道最全资料合集
- python适合在什么平台运行-Python 可以在多种平台运行,
- 2021-02-18-ctf-坚持60s-反编译
- 滚石导航网站源码v3.0 织梦模板+测试版+非常适合网址导航网站使用
- PMBOK(第五版)学习笔记 —— 5 项目范围管理
- 苏州大学深夜通报:开除学籍