Java并发编程从入门到精通 之 第四章 线程安全的集合类

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_28666081/article/details/79967827
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 相似:同理有CopyOnWriteArraySet


CopyOnWrite机制介绍:
-1 机制:写时复制容器,即添加元素时,先将当前容器copy复制出一个新容器,然后再向当前容器添加。
-2 好处:不加锁就可并发读,因为当前容器不会添加任何元素,实现读和写不同的容器。
-3 使用注意点:减少扩容开销,尽量批量添加可减少复制次数。
    使用CopyOnWrite不能保证实时,所以需要写入马上读到就不要用了。


Vector:
-1 说明:可克隆、相当于线程安全版ArrayList,源码方法是synchronized
-2 基本方法:与CopyOnWriteArrayList 类似,多了indexOf()得到元素下标


常用的StringBuffer与StringBuilder
-1 区别:StringBuffer线程安全,其方法加了synchronized
















阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页