心理

当前位置 /首页/完美生活/心理/列表

线程安全的map有哪些

线程安全的map有哪些

1、synchronizedMap

Map<String,Object> synchronizedMap= hronizedMap(new Hashtable<String,Object>())它其实就是加了一个对象锁,每次操作hashmap都需要先获取这个对象锁,这个对象锁有加了synchronized修饰,锁性能跟hashtable差不多

2、ConcurrentHashMap

Map<String,Object> concurrentHashMap=new ConcurrentHashMap<String,Object>()

这个是目前使用最多,而且也是最推荐的一个集合,实现也是比较复杂的一个。我们看源码其实是可以发现里面的线程安全是通过cas+synchronized+volatile来实现的,其中也可看出它的锁是分段锁,所以它的性能相对来说是比较好的。整体实现还是比较复杂的。

TAG标签:线程 map #