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...