JDK1.8中concurrentHashMap中 安全性如何实现的
时间: 2024-05-23 08:09:36 浏览: 84
JDK 1.8中文API文档
concurrentHashMap中的线程安全是通过多个机制来实现的。首先,每个桶都有自己的锁,这样不同的线程就可以同时访问不同的桶,从而提高并发性。其次,它使用了一种称为“分段锁”的技术,在某些情况下可以允许多个线程同时修改不同的段,从而进一步提高并发性。最后,它使用了一种称为“CAS”的操作,即Compare-and-Swap,来保证原子性和线程安全性。当多个线程同时修改同一个桶时,它们会首先比较当前的值和期望的值是否相等,如果相等,则执行更新操作,否则会重试整个过程,直到更新成功为止。这些机制的结合,使得concurrentHashMap能够高效地支持并发访问。
阅读全文