其他幾種BlockingQueue

2021-07-28 01:59:51 字數 609 閱讀 9754

priorityblockingqueue是一種基於優先順序的阻塞佇列,(優先順序的判斷通過建構函式傳入compator物件來決定,也就是說傳入佇列的物件必須實現comparable介面)在實現priorityblockingqueue時,內部控制線程同步的鎖採用的是公平鎖。然後這個容器在新增物件的時候add()是不會裡面的物件進行優先順序排序的,只有在取物件take()的時候才會將容器的內部的物件進行優先順序排序。

然後上篇文章說的synchronousqueue()容器並不是不能夠add()物件,而是必須有消費者的請求傳送過來也就是要有take()請求的時候才能進行add(),這時就可以獲取到add()的物件,這個容器內部沒有緩衝佇列,只有消費者有請求時生產者才可以add()物件,這時相當於消費者和生產者之間進行了點對點的傳輸。

delayqueue是一種帶有延遲時間的queue,其中的元素只有當其指定的延遲時間到了,才能夠從佇列中獲取到該元素。delayqueue中的元素必須實現delayed介面,(getdelay(timeunit unit)(這個是用來判斷是否到了截止時間)和compareto()(這個是用來相互排序比較用的)方法)delayqueue是乙個沒有大小限制的佇列,應用場景很多,比如對快取超時的資料進行移除,任務超時處理、空閒連線的關閉等等。

JMeter斷言(其他幾種)

原部落格 1.size斷言 用於判斷返回內容的大小 作用物件 返回資訊,響應報文 main sample and sub samples 作用于父節點取樣器及對應子節點取樣器 main sample only 僅作用于父節點取樣器 sub samples only 僅作用於子節點取樣器 jmeter...

Java並發包分析 BlockingQueue

arrayblockingqueue顧名思義是一種陣列形式的阻塞佇列,其自然就有陣列的特點,即佇列的長度不可改變,只有初始化的時候指定。下面,我們看一下例子。public class arrayblock public blockingqueuegetblockingqueue 建立乙個大小為3的a...

Java並發包分析 BlockingQueue

arrayblockingqueue顧名思義是一種陣列形式的阻塞佇列,其自然就有陣列的特點,即佇列的長度不可改變,只有初始化的時候指定。下面,我們看一下例子。public class arrayblock public blockingqueuegetblockingqueue 建立乙個大小為3的a...