ConcurrentHashMap并发能力为什么好于Hashtable

①Hashtable是通过对hash表整体进行锁定,是阻塞式的,当一个线程占有这个锁时,其他线程必须阻塞等待其释放锁
而ConcurrentHashMap是如下实现:
②jdk1.6的实现:ConcurrentHashMap是采用Segment分段锁的方式,它并没有对整个数据结构进行锁定,而是局部锁定,
③jdk1.8的实现: 采用一种乐观锁CAS算法来实现同步问题,但其底层还是“数组+链表->红黑树”的实现

猜你喜欢

转载自blog.csdn.net/qq_36961226/article/details/112273812