为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

磁单极 2017-05-31 21:22:40
查看完整描述

1 回答

已采纳
?
翔仔

TA贡献35条经验 获得超44个赞

分段锁就是将数据分段上锁,把锁进一步细粒度化,有助于提升并发效率。

具体应用如下:HashTable容器在竞争激烈的并发环境下表现出效率低下的原因是所有访问HashTable的线程都必须竞争同一把锁,假如容器里有多把锁,每一把锁用于锁容器其中一部分数据,那么当多线程访问容器里不同数据段的数据时,线程间就不会存在锁竞争,从而可以有效提高并发访问效率,这就是ConcurrentHashMap所使用的锁分段技术。首先将数据分成一段一段地存储,然后给每一段数据配一把锁,当一个线程占用锁访问其中一个段数据的时候,其他段的数据也能被其他线程访问。

有兴趣可以看看ConcurrentHashMap的源码,里面的segment继承自ReentrantLock,可以看看ReentrantLock这个的实现

查看完整回答
1 反对 回复 2017-06-01
  • 1 回答
  • 2 关注
  • 2670 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信