Java--读写锁

使用案例

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并发编程的艺术》
未完待续。。。

猜你喜欢

转载自blog.csdn.net/BtWangZhi/article/details/82564028