2011-04-12 150 views

回答

1

是的。見ArrayBlockingQueue

public class ArrayBlockingQueue<E> 
extends AbstractQueue<E> 
implements BlockingQueue<E>, Serializable 

甲界阻塞隊列由 陣列的支持。該隊列命令元素FIFO (先進先出)。 隊列的頭部是那個隊列上最長時間處於 的元素。隊列的尾部 是 在最短時間內排隊的元素。 將新元素插入隊列的尾部 ,隊列檢索 操作獲取隊列頭部 處的元素。

這是一個典型的「有界緩衝」,在 其中固定大小的數組持有由消費者提取生產者和 插入 元件。一旦創建, 的容量不能增加。 嘗試將一個元素放入完整的 隊列將導致放置操作 阻塞;嘗試從空隊列檢索 元素將類似地阻止 。

+1

我的quetsion是隊列滿的時候可以把刪除頭的方法自動插入尾巴嗎? – user496949 2011-04-12 23:38:20

+0

自動:否。但是你可以使用'offer()',如果失敗了,你可以自己移除頭並重試。 – 2011-04-13 00:05:30