ConcurrentMap

ConcurrentMap 接口下有两个重要的实现ConcurrentHashMap、ConcurrentSkipListMap
 
 ConcurrentSkipListMap这是一个支持高并发度的有序哈希表,并且是无锁的,可在多线程环境下替代TreeMap。支持并发排序功能,弥补ConcurrentHashMap

 ConcurrentHashMap 内部使用段(Segment)来表示这些不同的部分,每一个段其实就是一个小的HashTable, 它们有自己的锁。只要多个修改操作发生在不同的段上,它们就可以并发进行。把一个整体分成了16 个段(Segment)。也就是最高支持16个线程的并发修改操作。 这也是在多线程场景时减小锁粒度从而降低锁竞争的一种方案。并且代码中大多共享变量使用 volatile 关键字声明,目的是第一时间获取修改的内容,性能非常好。

原创文章 6 获赞 6 访问量 251

猜你喜欢

转载自blog.csdn.net/Aoico/article/details/105634716
今日推荐