- HashMap是众所周知的线程不安全。
- ConcurrentHashMap使用的一个"分段锁"
先来说说HashTable是使用锁来实现线程安全的,但HashTable的效率是非常低的。
而ConcurrentHashMap 也是使用锁,但是不同于HashTable的是,ConcurrentHashMap可以理解为一个容器,然后这个容器里面有很多的把锁,每把锁负责这个容器里面不同部分的数据。
那么当多线程时,不同的线程通过锁访容器里面不同的数据部分,线程间就不会有锁竞争,从而有效的提高效率。