1. 程式人生 > >Java併發程式設計從入門到精通 之 第四章 執行緒安全的集合類

Java併發程式設計從入門到精通 之 第四章 執行緒安全的集合類

java.util.HashTable:-1 說明:Hashtable函式均為同步,是執行緒安全,key,value均不能為null。-2 基本方法:get(), put(), remove(), clear(), putAll(), contains(),containsKey(),keySet(),keys(),values()等java.util.concurrent.ConcurrentHashMap:-1 說明:安全版 HashMap,並且效率比HashTable高。其內部採用鎖分離技術,允許併發修改-2 基本方法遇上相同。java.util.concurrent.CopyOnWriteArrayList:-1 說明:執行緒安全的List,適用於讀操作遠多於寫。-2 基本方法:add、addAll、clear、clone、contains、get、isEmpty、Iterator、remove、toArray()等-3 相似:同理有CopyOnWriteArraySetCopyOnWrite機制介紹:-1 機制:寫時複製容器,即新增元素時,先將當前容器copy複製出一個新容器,然後再向當前容器新增。-2 好處:不加鎖就可併發讀,因為當前容器不會新增任何元素,實現讀和寫不同的容器。-3 使用注意點:減少擴容開銷,儘量批量新增可減少複製次數。    使用CopyOnWrite不能保證實時,所以需要寫入馬上讀到就不要用了。Vector:-1 說明:可克隆、相當於執行緒安全版ArrayList,原始碼方法是synchronized-2 基本方法:與CopyOnWriteArrayList 類似,多了indexOf()得到元素下標常用的StringBuffer與StringBuilder-1 區別:StringBuffer執行緒安全,其方法加了synchronized