12 5 執行緒的安全集合

2021-10-06 17:26:34 字數 552 閱讀 8424

阻塞佇列方法方法

正常動作

特殊情況下動作

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鎖分離。另外,執行緒協作通知方式,不都是生產者直接喚醒全部消費者,而是生產者通知乙個消費者執行緒,消費者執行緒發現還有可取的元素,會通知...