[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();}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/310219.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

毕业4年年薪200万是怎样的一种体验?

之前的一篇文章提到过自己毕业4年&#xff0c;年薪就超过了200万。最近有很多读者问我是怎么实现的&#xff0c;过程中有哪些经验可以分享。说实话&#xff0c;这个话题不太想写&#xff0c;毕竟有炫耀嫌疑。不过问的人多了&#xff0c;发现大家对这个话题还是很关心。另外&…

自动控制原理第二版王建辉_王建辉自动控制原理配套题库名校考研真题课后答案资料课后习题章节题库模拟试题...

王建辉《自动控制原理》配套题库【名校考研真题&#xff0b;课后习题&#xff0b;章节题库&#xff0b;模拟试题】第一部分 名校考研真题 第1章 自动控制系统的基本概念 第2章 自动控制系统的数学模型 第3章 自动控制系统的时域分析 第4章 根轨迹法 第5章 频率法 第…

FluentAspects -- 基于 Fluent API 的 Aop

FluentAspects -- 基于 Fluent API 的 AopIntro上次我们做了一个简单的 AOP 实现示例&#xff0c;但是实现起来主要是基于 Attribute 来做的&#xff0c;对于代码的侵入性太强&#xff0c;于是尝试实现基于 Fluent API 的方式来做 AOP 。抽象 InterceptorResolver原来获取方法执…

2k2实用球员_nba2kol2操作技巧大全,nba2kol2平民球星阵容搭配。

NBA2KOL2手机版是一款专门针对酷爱打篮球的朋友打造的NBA正版篮球题材体育竞技类手游&#xff0c;熟悉篮球的朋友想必都知道&#xff0c;每年在圣诞节期间&#xff0c;NBA都会安排几场重量级的比赛&#xff0c;最近更是宣布了由利拉德和米切尔两位球星代言的NBA2KOL2手游终于在…

[Java网络编程基础]InetAddress的使用

代码如下: package InetAddressPack;import java.net.InetAddress; import java.net.UnknownHostException;public class InetAddressDemo {public static void main(String[] args) throws UnknownHostException { // InetAddress address InetAddress.getByName(&qu…

文件夹复制 覆盖_软网应用:U盘即插即复制

虽然现在网盘非常普及&#xff0c;但是对于一些重要文件的同步&#xff0c;很多朋友仍然在使用U盘进行同步。常规的方法是在A电脑将文件复制到U盘&#xff0c;然后在B电脑插入U盘&#xff0c;再将需要同步的文件复制到B电脑。这种操作不仅效率低&#xff0c;而且容易漏掉文件。…

面向接口编程,你考虑过性能吗?

大家在平时开发中大多都会遵循接口编程&#xff0c;这样就可以方便实现依赖注入也方便实现多态等各种小技巧&#xff0c;但这种是以牺牲性能为代价换取代码的灵活性&#xff0c;万物皆有阴阳&#xff0c;看你的应用场景进行取舍。一&#xff1a;背景1. 缘由在项目的性能改造中&…

python resample函数_python时序分析之重采集(resample)

接着上一回说到的时序分析&#xff0c;上一回主要是学习了datetime库和pandas.to_datetime模块。今天我们要学习的是resample&#xff0c;这一讲的内容很多&#xff0c;也有很多有意思的东西。老规矩&#xff0c;用到的资料来源于pandas.DataFrame.resample - pandas 0.24.2 do…

[Java网络编程]UDP通信程序练习

代码如下: package UdpPracticePack;import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.net.SocketException;pub…

合并k个有序链表 python_leetcode第23题-合并K个有序链表

题目&#xff1a;合并 k个排序链表&#xff0c;返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[1->4->5,1->3->4,2->6]输出: 1->1->2->3->4->4->5->6&#xfeff;​分析&#xff1a;和合并两个链表差不多&#xff0c;采用归…

打造更好用的 EF 自动审计

打造更好用的 EF 自动审计Intro上次基于 EF Core 实现了一个自动审计的功能&#xff0c;详细可以参考 EF Core 数据变更自动审计设计&#xff0c;虽然说多数情况下可以适用&#xff0c;但是因为要显式继承于一个 AuditDbContextBase 或 AuditDbContext&#xff0c;所以对代码的…

[Java网络编程基础]UDP发送和接收数据

代码如下: package InetAddressPack;import java.io.IOException; import java.net.*; import java.nio.charset.StandardCharsets;public class SendDemo {public static void main(String[] args) throws IOException {DatagramSocket ds new DatagramSocket();byte[] bys …

python矩阵教程_numpy教程:矩阵matrix及其运算

numpy矩阵简介NumPy函数库中存在两种不同的数据类型(矩阵matrix和数组array)&#xff0c;都可以用于处理行列表示的数字元素。虽然它们看起来很相似&#xff0c;但是在这两个数据类型上执行相同的数学运算可能得到不同的结果&#xff0c;其中NumPy函数库中的matrix与MATLAB中ma…

从Copyright到Copyleft,聊聊版权与开源协议

4月26日是世界知识产权日&#xff0c;很多人或许会觉得这和软件开发没什么关系&#xff0c;但事实上&#xff0c;开源软件大多受到知识产权法中著作权法&#xff08;Copyright&#xff0c;也称版权&#xff09;的保护。开源软件虽说开放了源代码&#xff0c;但是用户在使用、修…

[Java网络编程基础]TCP发送和接收数据

代码如下: package ClientPack;import java.io.IOException; import java.io.OutputStream; import java.net.InetAddress; import java.net.Socket; import java.net.UnknownHostException;public class ClientDemo {public static void main(String[] args) throws IOExcept…

手机端适应_不轻易透露的超强技巧!详解iVX中怎样做设备自适应

"自适应网页设计"的概念2010年&#xff0c;Ethan Marcotte提出了"自适应网页设计"&#xff08;Responsive Web Design&#xff09;这个名词&#xff0c;指可以自动识别屏幕宽度、并做出相应调整的网页设计&#xff0c;自适应是为了解决如何才能在不同大小的…

五分钟了解dotnetcore配置框架

一、前言配置的本质就是字符串的键值对&#xff0c;微软的一系列接口其实就是对这些键值对字符串的抽象。二、基本类型2.1、Nuget包Microsoft.Extensions.Configuration.AbstractionsMicrosoft.Extensions.Configuration2.2、抽象接口IConfiguration提供了查询、设置配置项、监…

彩光和灰光模块_5G承载网主要光模块图谱

&#xff08;一&#xff09;5G承载光模块总览在光通信中&#xff0c;业务信息的传送与接收都是靠光模块来实现的。在发送端&#xff0c;光模块完成电/光转换&#xff0c;光在光纤中传输&#xff0c;然后在接收端实现光/电转换。可以说&#xff0c;没有光模块就没有光通信。在我…