@InterfaceAudience.Private public class KeyLocker<K> extends Object
class Example {
private final static KeyLocker<String> locker = new Locker<String>();
public void foo(String s) {
Lock lock = locker.acquireLock(s);
try {
// whatever
} finally {
lock.unlock();
}
}
}
| Modifier and Type | Field and Description |
|---|---|
private WeakObjectPool<K,ReentrantLock> |
lockPool |
private static int |
NB_CONCURRENT_LOCKS |
| Constructor and Description |
|---|
KeyLocker() |
| Modifier and Type | Method and Description |
|---|---|
ReentrantLock |
acquireLock(K key)
Return a lock for the given key.
|
Map<K,Lock> |
acquireLocks(Set<? extends K> keys)
Acquire locks for a set of keys.
|
private static final int NB_CONCURRENT_LOCKS
private final WeakObjectPool<K,ReentrantLock> lockPool
public KeyLocker()
public ReentrantLock acquireLock(K key)
public Map<K,Lock> acquireLocks(Set<? extends K> keys)
ClassCastException - if the given keys contains elements that are not mutually
comparableCopyright © 2007–2020 The Apache Software Foundation. All rights reserved.