ConcurrentHashMap采用cas+sync
时间: 2023-06-16 19:04:46 浏览: 93
是的,ConcurrentHashMap采用了CAS(Compare and Swap)和synchronized来保证并发安全。具体来说,ConcurrentHashMap内部采用了一个分段锁(Segment),每个Segment内部都是一个HashEntry数组,每个HashEntry是一个键值对。在put、get等操作时,首先会根据key的hash值确定它所在的Segment,然后对该Segment进行加锁(使用synchronized),然后在这个Segment中进行操作,因此不同的Segment之间可以并行处理,从而提高了并发性能。而在操作具体的HashEntry时,采用了CAS机制,避免了使用重量级锁,从而进一步提高了并发性能。
相关问题
ConcurrentHashMap采用cas+sync是1.7还是1.8
ConcurrentHashMap在JDK1.7和1.8中都采用了CAS(Compare And Swap)和synchronized锁来实现线程安全。在1.7中,ConcurrentHashMap采用了分段锁(Segment),将数据分成若干段,每一段加锁,这样不同的线程可以同时访问不同的段,提高了并发性能。在1.8中,ConcurrentHashMap不再采用分段锁,而是采用了更加高效的CAS算法和synchronized锁来实现线程安全。同时,在1.8中,ConcurrentHashMap增加了一些新的方法和功能,例如支持函数式编程、支持并发更新和查询等。
阅读全文