猿问

什么是java中的分段锁的概念??

磁单极
浏览 2700回答 1
1回答

翔仔

分段锁就是将数据分段上锁,把锁进一步细粒度化,有助于提升并发效率。具体应用如下:HashTable容器在竞争激烈的并发环境下表现出效率低下的原因是所有访问HashTable的线程都必须竞争同一把锁,假如容器里有多把锁,每一把锁用于锁容器其中一部分数据,那么当多线程访问容器里不同数据段的数据时,线程间就不会存在锁竞争,从而可以有效提高并发访问效率,这就是ConcurrentHashMap所使用的锁分段技术。首先将数据分成一段一段地存储,然后给每一段数据配一把锁,当一个线程占用锁访问其中一个段数据的时候,其他段的数据也能被其他线程访问。有兴趣可以看看ConcurrentHashMap的源码,里面的segment继承自ReentrantLock,可以看看ReentrantLock这个的实现
随时随地看视频慕课网APP

相关分类

Java
我要回答