java 併發工具包 BlockingQueue

2021-08-10 16:44:58 字數 760 閱讀 5088

blockingqueue 是乙個介面,字義上理解表示為乙個阻塞佇列

1 生產者入隊

2 消費者出隊

blockingqueue 具有 4 組不同的方法用於插入、移除以及對佇列中的元素進行檢查。如果請求的操作不能得到立即執行的話,每個方法的表現也不同。這些方法如下:

拋異常 特定值 阻塞 超時

四組不同的行為方式解釋:

拋異常:如果試圖的操作無法立即執行,拋乙個異常。

特定值:如果試圖的操作無法立即執行,返回乙個特定的值(常常是 true / false)。

阻塞:如果試圖的操作無法立即執行,該方法呼叫將會發生阻塞,直到能夠執行。

超時:如果試圖的操作無法立即執行,該方法呼叫將會發生阻塞,直到能夠執行,但等待時間不會

blockingqueue 是個介面,你需要使用它的實現之一來使用 blockingqueue;

1 arrayblockingqueue 陣列阻塞佇列

2 priorityblockingqueue 具有優先順序的阻塞佇列

3 delayqueue 延遲佇列

4 linkedblockingqueue 鏈阻塞佇列

5 synchronousqueue 同步佇列

6 blockingdeque 阻塞雙端佇列

7 linkedblockingdeque 鏈阻塞雙端佇列

jdk併發工具包之鎖

1 cynchronized擴充套件 可重如鎖reentrantlock reentrantlock是通過cas演算法實現的 renntrantlock lock new reentrantlock lock.lock 如果資源被占用則會等待 鎖定區域 finally 必須手動解鎖 lock.unl...

併發工具包 阻塞佇列BlockingQueue

阻塞佇列,顧名思義 如果佇列滿了,那麼會進入阻塞狀態,當有消費者從佇列中取出資料後,再解除阻塞狀態。如果隊列為空,從佇列中取資料就會進入阻塞狀態。直至佇列中有資料為止。blockingqueue是介面,目前已知的實現類如下 arrayblockingqueue 底層底層通過陣列來儲存佇列中的元素,所...

拷貝工具包

常用工具包封裝.懶得引各種雜七八的包,輕量級包.cglib還是需要的 scope provided 1.0.0 copyutils beancopier封裝.提供簡單的單一複製與list複製.不支援自定義建構函式的類的複製.abc abc copyutil copysigle abc class o...