concurrenthashmap为什么是线程安全
时间: 2023-04-29 11:02:47 浏览: 115
阿里面试题:ConcurrentHashMap为什么是线程安全的?
ConcurrentHashMap是线程安全的,原因是它使用了一种叫做分段锁(Segment)的机制来保证线程安全。具体来说,ConcurrentHashMap将整个Map分成了多个Segment,每个Segment都是一个独立的Hash表,拥有自己的锁。当一个线程需要访问某个key-value时,只需要获取对应Segment的锁,而不需要锁住整个Map,这样就可以实现多个线程同时访问不同的Segment,从而提高了并发性能。此外,ConcurrentHashMap还使用了一些其他的技术,如CAS(Compare and Swap)操作和volatile关键字等,来保证线程安全。
阅读全文