public class KeyLock<K> extends Object
Constructor and Description |
---|
KeyLock() |
Modifier and Type | Method and Description |
---|---|
int |
getLockCount(K k)
根据key 获取等待的线程数
|
int |
getLockKeyCount()
获取锁的数量
|
void |
lock(K key)
锁定key,其他等待此key的线程将进入等待,直到调用
unlock(K)
使用hashcode和equals来判断key是否相同,因此key必须实现Object.hashCode() 和
Object.equals(Object) 方法 |
void |
lock(K[] keys)
锁定多个key
建议在调用此方法前先对keys进行排序,使用相同的锁定顺序,防止死锁发生
|
void |
unlock(K key)
释放key,唤醒其他等待此key的线程
|
void |
unlock(K[] keys)
释放多个key
|
public int getLockKeyCount()
public int getLockCount(K k)
k
- kpublic void unlock(K key)
key
- keypublic void lock(K key)
unlock(K)
使用hashcode和equals来判断key是否相同,因此key必须实现Object.hashCode()
和
Object.equals(Object)
方法key
- keypublic void lock(K[] keys)
keys
- keyspublic void unlock(K[] keys)
keys
- 多个keysCopyright © 2017–2019. All rights reserved.