分段锁
并发容器类的加锁机制是基于粒度更小的分段锁,分段锁也是提升多并发程序性能的重要手段之一。
在并发程序中,串行操作是会降低可伸缩性,并且上下文切换也会减低性能。在锁上发生竞争时将通水导致这两种问题,使用独占锁时保护受限资源的时候,基本上是采用串行方式—-每次只能有一个线程能访问它。所以对于可伸缩性来说最大的威胁就是独占锁。
概念
分段锁其实是一种锁的设计,并不是具体的一种锁
设计目的
细化锁的粒度,当操作不需要更新整个数组的时候,就仅仅针对数组中的一项进行加锁操作。
实现原理
对数据分段加锁提高并发效率
实例
jdk8之前的ConcurrentHashMap,jdk8后采用CAS+synchronized。通过hashCode计算到索引后对数据分段加锁
[面试]分段锁
最新推荐文章于 2024-04-26 06:37:27 发布