因为多线程环境下,使用Hashmap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap。HashTable容器使用synchronized来保证线程安全,但在线程竞争激烈的情况下HashTable的效率非常低下。而ConcurrentHashMap所使用的锁分段技术,首先将数据分成一段一段的存储,然后给每一段数据配一把锁,当一个线程占用锁访问其中一个段数据的时候,其他段的数据也能被其他线程访问。所以高并发的情况下最好使用concurrentHashMap
ConcurrentHashMap的锁分段技术
最新推荐文章于 2024-01-15 13:53:07 发布
本文讨论了多线程环境下HashMap与ConcurrentHashMap的使用区别。详细解释了HashMap在并发场景下可能导致死循环的问题,并说明了ConcurrentHashMap通过锁分段技术提高并发效率的原理。
214

被折叠的 条评论
为什么被折叠?



