美文网首页
ConcurrentSkipListMap VS Concurr

ConcurrentSkipListMap VS Concurr

作者: Quillagua | 来源:发表于2020-04-09 15:06 被阅读0次

    在4线程1.6万数据的条件下,ConcurrentHashMap 存取速度是ConcurrentSkipListMap 的4倍左右。

    但ConcurrentSkipListMap有几个ConcurrentHashMap 不能比拟的优点:

    1、ConcurrentSkipListMap 的key是有序的。

    2、ConcurrentSkipListMap 支持更高的并发。

    ConcurrentSkipListMap 的存取时间是log(N),和线程数几乎无关。也就是说在数据量一定的情况下,并发的线程越多,ConcurrentSkipListMap越能体现出他的优势

    ConcurrentHashMap内部使用段(Segment)来表示这些不用的部分(16)

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

    ConcurrentSkipListMap支持并发排序功能,弥补ConcurrentHashMap。

    相关文章

      网友评论

          本文标题:ConcurrentSkipListMap VS Concurr

          本文链接:https://www.haomeiwen.com/subject/cjrcmhtx.html