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

13、ArrayBlocking

时间:2015-06-01 13:15:02      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:

java.util.concurrent

Class ArrayBlockingQueue<E>

 

阻塞队列是通过数组来实现的。队列的元素顺序是FIFO。队列的头部元素是等待最长时间的,队列的尾部元素是在队列中时间最短的。新元素插在队列的尾部,队列的检索从队列的头部开始。

 

这是一个典型的有边界的缓存,在这个固定大小的数组中存储着生产者插入的元素,并且能够被消费者取出消费。这个容器的容量是固定的,

当容器已满时,还往容器中插入元素,就会引起操作阻塞;相反,如果试图从一个空队列中取走元素,也会引起操作阻塞。

 

这个类有一个boolean型的可选参数fairness,默认情况下为false,表明不保证线程的顺序;如果为true,就保证线程以先进先出的顺序访问队列。fairness减少了大并发,而且减少了不可变性和避免了线程饥饿。

 

13、ArrayBlocking

标签:

原文地址:http://www.cnblogs.com/feijishuo/p/4543636.html

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