码迷,mamicode.com
首页 > 其他好文 > 详细

并发_006 容器 队列

时间:2018-12-24 00:01:20      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:off   lock   移除   阻塞   queue   介绍   数组   优先级   span   

目录

  • 非阻塞队列
  • 阻塞队列
  • 双端队列

非阻塞队列(AbstractQueue)

队列介绍

  1 ConcurrentLinkedQueue 先进先出队列

  2 PriorityQueue 非并发的优先队列

非阻塞队列方法

  1 add(E e) 将元素e插入队列末尾,如果插入成功,返回true;如果插入失败(队列已满),则会抛出异常 

  2 remove() 移除队首元素,若移除成功,则返回true,如果移除失败(队列为空),则会抛出异常

  3 offer(E e) 将元素e插入队列末尾,如果插入成功,则返回true,则返回true,如果插入失败(队列已满),则返回false

  4 poll() 移除并获取首元素,若成功,则返回首元素,否则返回null

  5 peek() 获取队首元素,若成功,则返回首元素,否则返回null

 

阻塞队列(BlockingQueue)

队列介绍

  1 ArrayBlockingQueue 一个由数组支持的有界队列

  2 LinkedBlockingQueue 一个由链接节点支持的可选有界队列

  3 PriorityBlockingQueue 一个由优先级堆支持的无界优先级队列

  4 DelayQueue 一个由优先级堆支持的、基于时间的调度队列

  5 SynchronousQueue 一个利用 BlockingQueue 接口的简单聚集(rendezvous)机制

阻塞队列方法

  1 put(E e) 队尾插入元素,如果队列满,则等待

  2 take() 从队首取元素,如果队列为空,则等待

  3 offer(E e,long timeout, TimeUnit unit) 队尾存入元素,如果队列满,则等待一定的时间,当时间期限达到时,如果还没有插入成功,则返回false;否则返回true

  4 poll(long timeout, TimeUnit unit) 队首取元素,如果队列空,则等待一定的时间,当时间期限达到时,如果取到,则返回null;否则返回取得的元素       

并发_006 容器 队列

标签:off   lock   移除   阻塞   queue   介绍   数组   优先级   span   

原文地址:https://www.cnblogs.com/hpzhu/p/10165835.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!