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.