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

Java中的阻塞队列

阻塞队列的基本概念

1、生产者、消费者的概念
他俩是设计模式的一种,提出这两种概念,通过一个容器的方式能解决强耦合问题
生产者、消费者之间不会直接通讯。通过一个第三方容器、队列的方式进行通讯
生产者生产完数据放入容器之后,不用等待消费者来处理
消费者直接从容器中获取数据、不用去直接联系消费者、容器化技术最常用的就是队列

JUC阻塞队列的存取方法分析

  • 常用的存取方法都是来自于JUC包下的BlockQueue
    在这里插入图片描述

  • 生产者存储的方法分析

  • add(E)
    在这里插入图片描述

  • offer(E)
    在这里插入图片描述

  • boolean offer(E e, long timeout, TimeUnit unit)
    在这里插入图片描述

  • put(E e) 、添加数据到队列中,队列满了则会挂起线程,等到队列中有位置再添加数据,会一直等待
    在这里插入图片描述

  • 消费者获取数据的方法、下面这些方法涉及到方法的重载
    remove()、从队列中移除元素、元素为空抛出异常
    在这里插入图片描述

  • poll()
    在这里插入图片描述

  • poll(timeout,unit)

  • E poll(long timeout, TimeUnit unit)队列中移除元素,队列为空,挂起线程timeout时间。等生产者丢数据再获取。
    在这里插入图片描述

  • take()
    在这里插入图片描述

http://www.lryc.cn/news/91292.html

相关文章:

  • PriorityBlockingQueue无界阻塞优先级队列
  • 「HTML和CSS入门指南」p 标签详解
  • 【单目标优化算法】孔雀优化算法(Matlab代码实现)
  • chatgpt赋能python:Python同一行多个语句:如何提高你的编程效率?
  • Java反射概述
  • 《网络是怎样连接的》(一)
  • Flink on yarn任务日志怎么看
  • 二次元的登录界面
  • 2. 量化多因子数据清洗——去极值、标准化、正交化、中性化
  • 皮卡丘反射型XSS
  • 巧计口诀-软件测试的生命周期,黑盒测试设计方法
  • Android系统的Ashmem匿名共享内存系统分析(1)- Ashmem驱动
  • Redis 事务详细介绍
  • 2023-5-29第二十九天
  • 【第三方库】PHP实现创建PDF文件和编辑PDF文件
  • 线程的回收及内存演示
  • 高精度倾角传感器测量原理
  • Android 12 init流程分析
  • 【Python小技巧】Python操控Chrome浏览器实现网页打开、切换、关闭(送独家Chrome操作打包类源码、Chrome浏览器Cookie在哪里?)
  • 数据在内存中的存储
  • Rust in Action笔记 第三章 复合数据类型
  • 算法基础学习笔记——⑬高斯消元\组合计数\容斥原理
  • 渗透测试辅助工具箱
  • chatgpt赋能python:Python后退命令:如何让你的程序退回到之前的状态
  • OJ练习第127题——统计范围内的元音字符串数
  • 图片优化: CssSprites与Base64编码
  • JavaScript中的Map、WeakMap和Object的区别
  • 华为OD机试之打印机队列(Java源码)
  • 分享一个国内免费的ChatGPT网站,手机电脑通用,免费无限制,支持AI绘画
  • 【面向对象编程1】——类和对象——如桃花来