@WriteLock @ReadLock - peichhorn/lombok-pg GitHub Wiki
@ReadLock and @WriteLock
Overview
(Documentation pending)
Example
With Lombok
import lombok.ReadLock;
import lombok.WriteLock;
import java.util.HashMap;
import java.util.Map;
public class LockExample {
private Map<String, String> dictionary = new HashMap<String, String>();
@WriteLock("dictionaryLock")
public void put(String key, String value) {
dictionary.put(key, value);
}
@ReadLock("dictionaryLock")
public String get(String key) {
return dictionary.get(key);
}
}
Vanilla Java
import java.util.Map;
import java.util.HashMap;
class LockExample {
private final java.util.concurrent.locks.ReadWriteLock dictionaryLock = new java.util.concurrent.locks.ReentrantReadWriteLock();
private Map<String, String> dictionary = new HashMap<String, String>();
public void put(final String key, final String value) {
this.dictionaryLock.writeLock().lock();
try {
dictionary.put(key, value);
} finally {
this.dictionaryLock.writeLock().unlock();
}
}
public String get(final String key) {
this.dictionaryLock.readLock().lock();
try {
return dictionary.get(key);
} finally {
this.dictionaryLock.readLock().unlock();
}
}
}
Behind the Scenes
(Documentation pending)
Configuration
Nothing to configure yet.