public class LockUtil extends Object
Constructor and Description |
---|
LockUtil() |
Modifier and Type | Method and Description |
---|---|
static SegmentLock<Lock> |
createLazySegmentLock(int segments)
创建弱引用分段锁,使用 ReentrantLock,懒加载
|
static ReentrantReadWriteLock |
createReadWriteLock(boolean fair)
|
static SegmentLock<Lock> |
createSegmentLock(int segments)
创建分段锁(强引用),使用 ReentrantLock
|
static SegmentLock<ReadWriteLock> |
createSegmentReadWriteLock(int segments)
创建分段读写锁(强引用),使用 ReentrantReadWriteLock
|
static SegmentLock<Semaphore> |
createSegmentSemaphore(int segments,
int permits)
创建分段信号量(强引用)
|
static StampedLock |
createStampLock()
创建
StampedLock 锁 |
static Lock |
getLazySegmentLock(int segments,
Object key)
根据 key 获取弱引用分段锁,懒加载
|
static NoLock |
getNoLock()
获取单例的无锁对象
|
static Lock |
getSegmentLock(int segments,
Object key)
根据 key 获取分段锁(强引用)
|
static Lock |
getSegmentReadLock(int segments,
Object key)
根据 key 获取分段读锁(强引用)
|
static Semaphore |
getSegmentSemaphore(int segments,
int permits,
Object key)
根据 key 获取分段信号量(强引用)
|
static Lock |
getSegmentWriteLock(int segments,
Object key)
根据 key 获取分段写锁(强引用)
|
public static StampedLock createStampLock()
StampedLock
锁StampedLock
锁public static ReentrantReadWriteLock createReadWriteLock(boolean fair)
fair
- 是否公平锁ReentrantReadWriteLock
锁public static SegmentLock<Lock> createSegmentLock(int segments)
segments
- 分段数量,必须大于 0public static SegmentLock<ReadWriteLock> createSegmentReadWriteLock(int segments)
segments
- 分段数量,必须大于 0public static SegmentLock<Semaphore> createSegmentSemaphore(int segments, int permits)
segments
- 分段数量,必须大于 0permits
- 每个信号量的许可数public static SegmentLock<Lock> createLazySegmentLock(int segments)
segments
- 分段数量,必须大于 0public static Lock getSegmentLock(int segments, Object key)
segments
- 分段数量,必须大于 0key
- 用于映射分段的 keypublic static Lock getSegmentReadLock(int segments, Object key)
segments
- 分段数量,必须大于 0key
- 用于映射分段的 keypublic static Lock getSegmentWriteLock(int segments, Object key)
segments
- 分段数量,必须大于 0key
- 用于映射分段的 keypublic static Semaphore getSegmentSemaphore(int segments, int permits, Object key)
segments
- 分段数量,必须大于 0permits
- 每个信号量的许可数key
- 用于映射分段的 keyCopyright © 2025. All rights reserved.