[springboot专栏]redis分布式锁实现及常见问题解析

一、什么是分布式锁?

在我们写Java程序的时候,多线程争取同一个资源的时候,经常会使用到诸如syncchronize或Lock来实现锁操作,这种锁通常被称为“本地锁”。但是本地锁只能适用于在同一个进程内(同一个应用内的线程之间锁定资源),如果应用是分布式部署的,彼此之间是独立的进程,进程之间又存在需要争夺的资源,那么该如何对资源进行锁定?这就需要使用到分布式锁。
其实分布式锁和本地锁的基本原理是一样的,举个例子:上厕所

  • 4人去上厕所,厕所只有2个坑位
  • 先到坑位的人先占,占有后锁门(也就是上锁)
  • 后到的人没有占到坑位,只能等待
  • 先使用“坑位”的人,使用完资源

猜你喜欢

转载自blog.csdn.net/hanxiaotongtong/article/details/122906717