阻塞佇列方法方法
正常動作
特殊情況下動作
add新增乙個元素
如果佇列滿,則丟擲illegalstateexception異常
element
返回隊頭元素
如果隊列為空,則丟擲nosuchelementexception異常
offer
新增乙個元素並返回true
如果佇列滿則返回false
peek
返回隊頭元素
如果隊列為空,則返回null
poll
移除並返回隊頭元素
如果如果隊列為空,則返回null
put新增乙個元素
如果佇列滿,則阻塞
remove
移除並返回隊頭元素
如果佇列空,則丟擲nosuchelementexception異常
take
移除並返回隊頭元素
如果隊列為空,則阻塞
poll和peek方法返回null來指示失敗。因此佇列插入null非法
執行緒安全集合
1.包裝執行緒不安全集合成執行緒安全集合 使用collections方法實現,需要封裝的物件建立出來要立即封裝 封裝執行緒安全的hashmap hashmap map collections.synchronizedmap new hashmap 此外還提供了 synchronizedcollect...
C 執行緒安全集合類
本文章僅為個人理解,如有錯誤請指正。從.net 4.0框架開始,在system.collections.concurrent命名空間下,增加了用於多執行緒協同的併發集合類 執行緒安全集合 執行緒安全集合 就是當多執行緒訪問時,採用了加鎖的機制 即當乙個執行緒訪問集合時,會對這個集合進行保護,其他執行...
JDK 執行緒安全集合原始碼筆記
當隊列為空,消費者執行緒被阻塞 當佇列裝滿,生產者執行緒被阻塞。這是阻塞佇列的基本特點。linkedblockingqueue對鎖進行了優化,就是put鎖和take鎖分離。另外,執行緒協作通知方式,不都是生產者直接喚醒全部消費者,而是生產者通知乙個消費者執行緒,消費者執行緒發現還有可取的元素,會通知...