美文网首页
currenthashmap

currenthashmap

作者: bangbang2 | 来源:发表于2020-07-21 15:43 被阅读0次

hashtable虽然线程安全,但用synchronize直接锁起来,在多线程中,效率太低

currenthashmap是最优选择

在Java1.8以前,currenthashmap用的是setment,将几个entry作为一个segment,加锁

segment继承ReentrantLock接口,是一种可重入的锁

啥叫可重入锁呢?

比如:一个线程获得一个对象的锁,那这个线程还可以再获得这个对象的锁,可重复获得

currenthashmap维护一个segment数组,segment是一个entry数组

image.png

在java 1.8后,给每一个链表或红黑树上加一个synchronize锁,利用CAS来加一个头节点,然后为头节点上synchronize锁

image.png

相关文章

网友评论

      本文标题:currenthashmap

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