java实现生产者消费者的实例代码
发表于:2025-01-27 作者:千家信息网编辑
千家信息网最后更新 2025年01月27日,这篇文章主要介绍"java实现生产者消费者的实例代码",在日常操作中,相信很多人在java实现生产者消费者的实例代码问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"jav
千家信息网最后更新 2025年01月27日java实现生产者消费者的实例代码
这篇文章主要介绍"java实现生产者消费者的实例代码",在日常操作中,相信很多人在java实现生产者消费者的实例代码问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"java实现生产者消费者的实例代码"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
if只会判断一次,而while一直会判断
永远要使用notifyAll不要使用notify。
public class MyContainer1{ final private LinkedList lists = new LinkedList<>(); final private int MAX = 10; //最多10个元素 private int count = 0; //当前有多少个 public synchronized void put(T t) { while(lists.size() == MAX) { //想想为什么用while而不是用if? try { this.wait(); //effective java } catch (InterruptedException e) { e.printStackTrace(); } } lists.add(t); ++count; this.notifyAll(); //通知消费者线程进行消费 } public synchronized T get() { T t = null; while(lists.size() == 0) { try { this.wait(); //effective java } catch (InterruptedException e) { e.printStackTrace(); } } t = lists.removeFirst(); count --; this.notifyAll(); //通知生产者进行生产 return t; } public static void main(String[] args) { MyContainer1 c = new MyContainer1<>(); //启动消费者线程 for(int i=0; i<10; i++) { new Thread(()->{ for(int j=0; j<5; j++) System.out.println(c.get()); }, "c" + i).start(); } try { TimeUnit.SECONDS.sleep(2); } catch (InterruptedException e) { e.printStackTrace(); } //启动生产者线程 for(int i=0; i<2; i++) { new Thread(()->{ for(int j=0; j<25; j++) c.put(Thread.currentThread().getName() + " " + j); }, "p" + i).start(); } }}
到此,关于"java实现生产者消费者的实例代码"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
消费
生产
消费者
生产者
代码
实例
学习
线程
更多
j++
帮助
实用
接下来
元素
文章
方法
理论
知识
篇文章
网站
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
阿里云服务器安全概念
小学关于网络安全的演讲稿
oracle数据库迁移费用
咸鱼之王能切服务器吗
魅蓝网络技术
方舟生存手游创建免费服务器软件
计算机网络技术网测
服务器时间与日志时间不一致
数据库ip的风险
gale数据库
数据库多选框存储
软件开发制作图书
防腐检测数据库
网络安全标准化指导思想
泰拉瑞亚手机联机服务器ip地址
共育网络安全人才
服务器配置怎么选择
做网络技术如何做
pe网络技术
信息管理与网络技术
lol装备数据库
什么叫网络安全巡回赛
数据库在功能测试中的作用
个人中心的数据库设计
互联网低碳生活的科技论文
淮安系统软件开发流程
互联网金融b端金融科技价值
当前服务器倍率500%
网络安全儿童画绘画
昌吉学院服务器地址