使用案例
public class Cache {
private static final Map<String, Object> map = new HashMap<String, Object>();
private static ReentrantReadWriteLock readWriteLock = new ReentrantReadWriteLock();
private static Lock r = readWriteLock.readLock();
private static Lock w = readWriteLock.writeLock();
public static final Object get(String key) {
r.lock();
try {
return map.get(key);
} finally {
r.unlock();
}
}
public static final Object put(String key, Object value) {
w.lock();
try {
return map.put(key, value);
} finally {
w.unlock();
}
}
public static final void clear() {
w.lock();
try {
map.clear();
} finally {
w.unlock();
}
}
}
摘自《Java并发编程的艺术》
未完待续。。。