在Java8中,提供了7个阻塞队列

ArrayBlockingQueue 数组实现的有界阻塞队列, 此队列按照先进先出(FIFO)的原则对元素进行排序。 
LinkedBlockingQueue 链表实现的有界阻塞队列, 此队列的默认和最大长度为Integer.MAX_VALUE。此队列按照先进先出的原则对元素进行排序 
PriorityBlockingQueue 支持优先级排序的无界阻塞队列, 默认情况下元素采取自然顺序升序排列。也可以自定义类实现compareTo()方法来指定元素排序规则,或者初始化PriorityBlockingQueue时,指定构造参数Comparator来对元素进行排序。
DelayQueue 优先级队列实现的无界阻塞队列
SynchronousQueue 不存储元素的阻塞队列, 每一个put操作必须等待一个take操作,否则不能继续添加元素。
LinkedTransferQueue 链表实现的无界阻塞队列
LinkedBlockingDeque 链表实现的双向阻塞队列

J.U.C 提供的阻塞队列相关推荐

  1. J.U.C 学习(三)之 “阻塞队列”

    生产者消费者的实际使用 相信大家都有使用过分布式消息队列,比如 ActiveMQ. kafka.RabbitMQ 等等,消息队列的是有可以使得程序之间实现解耦,提升程序响应的效率. 如果我们把多线程环 ...

  2. java 手写阻塞队列_Java阻塞队列的实现

    阻塞队列与普通队列的区别在于,当队列是空的时,从队列中获取元素的操作将会被阻塞,或者当队列是满时,往队列里添加元素的操作会被阻塞.试图从空的阻塞队列中获取元素的线程将会被阻塞,直到其他的线程往空的队列 ...

  3. Java阻塞队列的实现

    转自: http://segmentfault.com/a/1190000000373535 阻塞队列与普通队列的区别在于,当队列是空的时,从队列中获取元素的操作将会被阻塞,或者当队列是满时,往队列里 ...

  4. Redis之阻塞队列

    redis 命令 blpop key1...keyN timeout BLPOP 是阻塞式列表的弹出原语. 它是命令 LPOP 的阻塞版本,这是因为当给定列表内没有任何元素可供弹出的时候, 连接将被  ...

  5. 死磕Java并发:J.U.C之阻塞队列:ArrayBlockingQueue

    作者:chenssy 来源:Java技术驿站 ArrayBlockingQueue,一个由数组实现的有界阻塞队列.该队列采用FIFO的原则对元素进行排序添加的. ArrayBlockingQueue为 ...

  6. 死磕Java并发:J.U.C之阻塞队列:LinkedBlockingDeque

    作者:chenssy 来源:Java技术驿站 前面的BlockingQueue都是单向的FIFO队列,而LinkedBlockingDeque则是一个由链表组成的双向阻塞队列,双向队列就意味着可以从对 ...

  7. 死磕Java并发:J.U.C之阻塞队列:PriorityBlockingQueue

    作者:chenssy 来源:Java技术驿站 我们知道线程Thread可以调用setPriority(int newPriority)来设置优先级的,线程优先级高的线程先执行,优先级低的后执行.而前面 ...

  8. Java多线程之线程并发库阻塞队列的应用

    ArrayBlockingQueue(jdk中已经提供 就在那个condition类说明里的可阻塞示例程序的下面就说明了) 注意三个添加方法的区别->查API文档 拿插入来说 一个会抛异常 一个 ...

  9. Michael-Scott非阻塞队列(lock-free)算法的C实现

    Michael-Scott非阻塞队列算法,即MS-queue算法,是1 9 9 6 年由Maged . M .Michael and M. L. Scott提出的,是最为经典的并发FIFO队列上的算法 ...

最新文章

  1. Spark 与MapReduce 资源调度方面的简单对比
  2. Eclipse——添加库(Add Library)到项目
  3. 华景机器人怎么控制_【华景QQ机器人怎么用】华景QQ机器人好不好_使用技巧-ZOL软件百科...
  4. 机器学习算法总结--EM算法
  5. arc073F Many Moves
  6. System学习笔记001---WIN10 win10按哪里哪里出现蓝色框
  7. zip压缩文件暴力破解
  8. python爬虫爬取一次数据多长时间_「Python爬虫系列讲解」1. 网络数据爬取概述
  9. 学校老师要求微信群里的家长下载钉钉建群,解散微信群,钉钉是不正当商业竞争吗?
  10. python自动化交易通达信_通达信实现自动交易系统
  11. u12无线网卡linux驱动装不上,ubutu16.04 安装Tenda u12无线网卡驱动
  12. 淘宝技术这十年(淘宝技术大学校长解密淘宝十年)
  13. 把uTorrent做成绿色版
  14. 使用LPC1768实现的数字时钟和温度计
  15. 吴恩达深度学习课程-Course 4 卷积神经网络 第一周 卷积神经网络编程作业(第一部分)
  16. Oracle 中总计和小计使用的函数
  17. 3、原币金额和本币金额
  18. canvas制作钟表
  19. “正交阵”与“特征值和特征向量”
  20. 【循环链表】猴子选大王(约瑟夫问题)

热门文章

  1. 小白自学Java框架,框架的全面解析总结
  2. linux下面升级 Python版本并修改yum属性信息
  3. jQuery 阻止冒泡和默认事件
  4. Fiddler抓取https相关设置
  5. css3 :nth-child()选择器的使用
  6. MySQL数据库 Too many connections
  7. insert返回主键 — mybatis selectKey
  8. 【JMS】JMS详解
  9. maven安装使用修改镜像仓库
  10. vertica导出导入数据