注:该文章基于黑马程序员中《黑马点评》软件的学习
涉及视频
p56
分布式锁
满足分布式系统或者是集群模式下多进程可见并且互斥的锁
分布式锁的特点
1.多进程可见
2.具有互斥
3.高可用
4.高性能
5.安全性高
场景
在秒杀抢单中,分布式环境下,用普通的锁无法实现一人一单的需求
synchronized锁下的一人一单
每个jvm都有自己的锁监视器,而锁监视器只会监视自己所在jvm范围下的锁,所以在jvm内用锁来锁住不同线程的同一个事物是可行的,但是用普通的锁无法锁住不同jvm下的其他线程,所以会导致无法实现一人一单的操作。
分布式锁的情况下
分布式锁的核心是实现多线程之间的互斥,满足这一点的方式很多,常见的有Mysql,Redis,Zookeeper
当普通的锁无法锁住不同jvm下的线程是,可以采用外部中间件来实现锁,将多个jvm下的线程锁住,可以将不同的线程再拼接特殊信息作为锁的依据来实现互斥