concurrenthashmap为什么线程安全
时间: 2023-10-30 17:37:29 浏览: 240
阿里面试题:ConcurrentHashMap为什么是线程安全的?
ConcurrentHashMap是线程安全的,因为它使用了锁分段技术来保证并发访问时的线程安全性。
具体来说,ConcurrentHashMap将整个Map分成若干个Segment,每个Segment内部都是一个HashMap,每个Segment都有一个独立的锁来控制并发访问。当多个线程同时访问不同的Segment时,它们可以并发进行操作,不会相互阻塞。而当多个线程同时访问同一个Segment时,只有该Segment的锁会被获取,其他Segment的锁不会受到影响,从而保证了并发访问的线程安全性。
此外,ConcurrentHashMap还提供了一些其他的线程安全保证,例如putIfAbsent和replace等原子操作,以及弱一致性的迭代器等。
阅读全文