分布式锁业务太久 超时释放
这种业务过程时间太长导致锁提前释放,线程二获取锁后执行一半,被线程一执行完成后提前释放,这时线程三获取锁也可以获取,导致线程安全问题,
解决问题
锁的标识是否和线程一样,不一样什么都不做,
怎么解决这个问题
- 线程id作为标识可能重复所以要用(uuid)确定唯一
- 获取锁对象
- 获取锁
- 释放锁
分布式锁业务太久 超时释放
这种业务过程时间太长导致锁提前释放,线程二获取锁后执行一半,被线程一执行完成后提前释放,这时线程三获取锁也可以获取,导致线程安全问题,
锁的标识是否和线程一样,不一样什么都不做,