2. 分布式锁

分布式锁的应用场景

  分布式情况下(多JVM),线程A和线程B很可能不是在同一JVM中,这样线程锁就无法起到作用了,这时候就要用到分布式锁来解决

分布式锁应该具备的特点

  可以保证在分布式部署的应用集群中,同一个方法在同一时间只能被一台机器上的一个线程执行。

  这把锁要是一把可重入锁(避免死锁)

  这把锁最好是一把阻塞锁(根据业务需求考虑要不要这条)

  有高可用的获取锁和释放锁功能

  获取锁和释放锁的性能要好

说说线程锁和进程锁

  

分布式锁的实现

1、基于数据库

2、基于缓存

  redis的RedLock算法

3、zookeeper

参考文档:

1.https://www.cnblogs.com/austinspark-jessylu/p/8043726.html

2.https://blog.csdn.net/u012625036/article/details/55670848

3.https://blog.csdn.net/l_bestcoder/article/details/79336986

原文地址:https://www.cnblogs.com/GrimMjxCl/p/9297116.html