当前位置: 首页 > news >正文

经典的生产者和消费者模型问题

典型的生产者-消费者问题,可以使用 Java 中的 java.util.concurrent 包提供的 BlockingQueue 来实现。BlockingQueue 是一个线程安全的队列,它可以处理这种生产者-消费者的场景。以下是一个示例代码:

import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;class Producer implements Runnable {private BlockingQueue<Integer> queue;public Producer(BlockingQueue<Integer> queue) {this.queue = queue;}@Overridepublic void run() {try {while (true) {int product = produce();queue.put(product); // 将产品放入队列System.out.println("生产者生产了产品:" + product);Thread.sleep(1000); // 模拟生产时间}} catch (InterruptedException e) {Thread.currentThread().interrupt();}}private int produce() {// 在这里可以生成产品,此处用简单的整数代表产品return (int) (Math.random() * 100);}
}class Consumer imp
http://www.lryc.cn/news/161283.html

相关文章:

  • Java基础:代理
  • 每日一学——防火墙2
  • Web学习笔记-React(组合Components)
  • 【strstr函数的介绍和模拟实现——超详细版】
  • 【Terraform】Terraform自动创建云服务器脚本
  • TCP机制之确认应答及超时重传
  • Openharmony3.2 源码编译(ubuntu 22.04) 过程记录
  • PostgreSQL 数据库使用 psql 导入 SQL
  • 容器编排学习(三)端口映射与Harber镜像仓库介绍
  • Day_13 > 指针进阶(2)
  • 对Transformer中的Attention(注意力机制)的一点点探索
  • 车内信息安全技术-安全技术栈-软件安全
  • Redis常见命令
  • Android Studio实现一笔画完小游戏
  • 【Python 程序设计】数据人员入门【02/8】
  • 学习笔记——树上哈希
  • Opencv快速入门教程,Python计算机视觉基础
  • laravel 报错误信息 Carbon\Exceptions\InvalidFormatException
  • UI自动化之混合框架
  • SQL创建用户-非DM8.2环境(达梦数据库)
  • Thread类中run和start的区别
  • ElementUI浅尝辄止35:Checkbox 多选框
  • 讲讲如何用IDEA开发java项目——本文来自AI创作助手
  • Kafka3.0.0版本——消费者(Range分区分配策略以及再平衡)
  • WeiTools
  • 目标检测数据集:医学图像检测数据集(自己标注)
  • 【系统设计系列】数据库
  • mp4压缩视频不改变画质?跟我这样压缩视频大小
  • AQS同步队列和等待队列的同步机制
  • vue3实现无限循环滚动的方法;el-table内容无限循环滚动的实现