吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1772|回复: 3
收起左侧

[Java 转载] 闲来无事 codeReview 题目!!!

[复制链接]
李人 发表于 2021-5-18 15:48
本帖最后由 李人 于 2021-5-18 15:56 编辑

最上面的注释是要求!!!

[Java] 纯文本查看 复制代码
/**
 * 一个简单的对象缓存Service,只允许并发读,不允许并发读写
 *
 */
@Service
public class CacheService {
    private final Map<String, Object> map = new HashMap<>();
    private final ReentrantReadWriteLock rwLock = new ReentrantReadWriteLock();

    /**
     * 获取一个 key 对应的 value
     *
     * @param key
     * @return
     */
    public final Object get(String key) {
        // 获取读锁
        rwLock.readLock().tryLock();
        try {
            return map.get(key);
        } finally {
            // 释放读锁
            rwLock.readLock().unlock();
        }
    }

    /**
     * 设置 key 对应的 value,并返回旧的 value
     *
     * @param key
     * @param value
     * @return
     */
    public final Object put(String key, Object value) {
        // 获取写锁
        rwLock.writeLock().tryLock();
        try {
            return map.put(key, value);
        } finally {
            // 释放写锁
            rwLock.writeLock().unlock();
        }
    }
}

代码

代码

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

fightingmy 发表于 2021-5-18 16:14
这读也没并发呀。。。。
奔跑的蜗牛119 发表于 2021-5-18 19:31
ljhtoljh 发表于 2021-5-18 23:25
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 16:26

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表