Lock 和分布式锁概述
- Lock:这是 Java 里的一个接口,它提供了比synchronized关键字更为灵活的锁机制。Lock接口的常见实现类有ReentrantLock,借助lock()方法来获取锁,使用unlock()方法释放锁。它主要用于单个 JVM 内的线程同步。
- 分布式锁:在分布式系统中,由于多个服务实例可能同时访问共享资源,单个 JVM 内的锁无法满足需求,此时就需要分布式锁。分布式锁可以保证在分布式环境下同一时刻只有一个客户端能够访问共享资源。常见的实现方式有基于 Redis、ZooKeeper 等。