首頁 >Java >java教程 >ArrayBlockingQueue和LinkedBlockingQueue之間的差異是什麼?

ArrayBlockingQueue和LinkedBlockingQueue之間的差異是什麼?

王林
王林轉載
2023-08-26 11:53:08814瀏覽

ArrayBlockingQueue和LinkedBlockingQueue之間的差異是什麼?

阻塞佇列介面是Java.util.concurrent套件的一部份。阻塞隊列專為生產者消費者隊列設計,同時支援集合。此介面分為四個部分的方法,支援對佇列執行的所有類型的操作。它不接受空鍵。 ArrayBlockingQueue和LinkedBlockingQueue都實作了阻塞佇列介面

ArrayBlockingQueue和LinkedBlockingQueue都依照FIFO順序儲存元素。在這兩個佇列中,元素的插入總是發生在佇列的尾部,元素的刪除總是發生在佇列的頭部。

序號 #ArrayBlockingQueue LinkedBlockingQueue
#1

基本

它由陣列支援

它由鍊錶支援

2

#它是有界數組隊列。因此一旦創建,容量就不能更改

它是無界佇列

3

#吞吐量

它的吞吐量低於鍊式佇列

連結佇列的吞吐量高於基於陣列的佇列

4.

#它使用單鎖雙重條件演算法

它具有用於在佇列中插入元素的putLock和用於從佇列中刪除元素的takeLock

##

以上是ArrayBlockingQueue和LinkedBlockingQueue之間的差異是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除