java实现生产者消费者的实例代码
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,这篇文章主要介绍"java实现生产者消费者的实例代码",在日常操作中,相信很多人在java实现生产者消费者的实例代码问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"jav
千家信息网最后更新 2025年12月01日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安全错误
数据库的锁怎样保障安全
迈腾导航系统数据库如何更新
联想ts140服务器设置密码
网络安全宣传周看漫画
互联网与大数据科技创新
网络安全50个字
天津市网络安全检查
质检 网络安全
萤石云开放后无法连接到服务器
梦幻西游免费转服哪些服务器好
软件开发价格估算表
军人手机网络安全措施
网络安全在国家的战略地位论文
传统数据库的数据
惠普服务器按开机键没反应
树莓派实现视频服务器
数据库打对勾
怎么吧文件导入数据库
软件开发公司会计新手
软件开发员工绩效考核表模板
服务器从哪里找还在运行的软件
互联网与大数据科技创新
浅谈网络安全威胁防范策略
管理打印服务器实验报告
网络技术的逻辑功能
爸爸软件开发 妈妈金融
望略网络技术上海有限公司
教育类app软件开发
英魂之刃服务器为什么卡顿
2019年网络安全的现状
校园网络安全监控软件