BlockingQueue


继承自java.util.Queue,提供了等待的操作,当插入数据到一个满队列或获取数据从一个空队列的时候。

与之对应的有四种处理方式

  1. 抛出异常
  2. 特殊值返回(null or false)
  3. 阻塞等待
  4. 限时等待

| 操作类型 |抛出异常 | 特殊值返回 |阻塞 | 超时|
| :-------- | :--------| :-------- | :--------|
| 插入 | add(e) | offer(e) | put(e) | offer(e, time, unit)|
|删除 | remove() | poll() | take() | poll(time, unit)|
| 检查 | element() |peek()|not applicable| not applicable|

BlockingQueue具备如下几个特点:

  1. 不接受null
  1. 它的实现主要被用来作为生产者消费者使用
  1. 它的实现是线程安全的
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 今天来介绍Java并发编程中最受欢迎的同步类——堪称并发一枝花之BlockingQueue。 JDK版本:orac...
    猴子007阅读 5,028评论 1 14
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,359评论 19 139
  • 阻塞队列 BlockingQueue BlockingQueue用法 BlockingQueue 通常用于一个线...
    MPPC阅读 5,794评论 0 3
  • 一、什么是BlockingQueue BlockingQueue即阻塞队列,从阻塞这个词可以看出,在某些情况下对阻...
    Chinesszz阅读 3,184评论 0 1
  • 前言 最近在看并发编程艺术这本书,对看书的一些笔记及个人工作中的总结。 什么是阻塞队列? A java.util....
    二月_春风阅读 5,095评论 1 5