Map

原创
2020/08/04 14:50
阅读数 9

HashMap(局部变量使用)

线程不安全的,没有加锁

Collections.synchronizedMap

线程安全的,是一个加锁版本的HashMap,Map<String, String> m = Collections.synchronizedMap(new HashMap<>());

Hashtable

是线程安全的,方法都添加synchronized

ConcurrentHashMap(多线程高并发推荐使用)

线程安全的,内部使用(compareAndSwapInt)CAS进行插入,使用CAS保证线程安全

ConcurrentSkipListMap(多线程高并发有序的集合)

插入时也是使用compareAndSwapObject(CAS)保证线程安全的;查找使用跳表,所以效率很高;

ConcurrentSkipListMap<String,String> skip = new ConcurrentSkipListMap<>();

展开阅读全文
cas
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部