• suloser
    如何分析这段线程安全的代码?
    @SachinBeyond 1. synchronized 不是对 getLock 加锁,是使用 getLock 获取的对象作为锁,对 synchronized 内部的代码块加锁。 2. 我猜是防止缓存击穿,如果缓存不存在或者过期,同一时间大量请求获取该过期的 shop ,大量请求在同一时间穿透到数据库。