Java 阻塞隊列

1、阻塞隊列

 

方法/處理方式 拋出異常 返回特殊值 一直阻塞 超時退出
插入方法 add(e) offer(e) put(e) offer(e, time, unit)
移除方法 remove(e) poll() take() poll(time, unit)
檢查方法 element() peek() 不可以 不可以

2、示例代碼

public class BlockQueue {

	public static void main(String[] args) {
		/**
		 * 數組結構組成的有界阻塞隊列
		 */
		ArrayBlockingQueue<Integer> arrayBlockingQueue = new ArrayBlockingQueue<>(5);
		/**
		 * 鏈表結構組成的有界阻塞隊列
		 */
		LinkedBlockingQueue<Integer> linkedBlockingQueue = new LinkedBlockingQueue<>();
		/**
		 * 支持優先級排序的有界阻塞隊列
		 */
		PriorityBlockingQueue<Integer> priorityBlockingQueue = new PriorityBlockingQueue<>();
		/**
		 * 使用優先級隊列實現的無界阻塞隊列
		 */
		DelayQueue delayQueue = new DelayQueue<>();
		/**
		 * 不存儲元素的阻塞隊列
		 */
		SynchronousQueue<Integer> synchronizedQueue = new SynchronousQueue<>();
		/**
		 * 鏈表結構組成的無界阻塞隊列
		 */
		LinkedTransferQueue<Integer> linkedTransferQueue = new LinkedTransferQueue<>();
		/**
		 * 鏈表結構組成的雙向阻塞隊列
		 */
		LinkedBlockingDeque<Integer> linkedBlockingDeque = new LinkedBlockingDeque<>();
	}
	
}

 

發佈了76 篇原創文章 · 獲贊 54 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章