老师 你在课程中提到
利用唯一索引实现分布式锁
出现了两个问题:
1、加锁之后 解锁之前 发生异常 导致未成功解锁 造成其他线程一直等待获取不到锁 使用定时任务定时清除
2、误删 锁的过期时间 比业务执行时间短 业务还没执行完 锁就过期了 定时任务 将锁删除
其他线程获取到锁之后 然后当前线程执行完 又释放锁 造成误删 采用uuid进行标识 每个线程
老师 我想问下 利用 select for update 悲观锁方式 存在上面两种问题吗?
比如第一个问题,线程获取到锁之后 执行到一半 服务挂掉了 事务未提交 其他线程是否也一直在等待呢?
第二个问题,悲观锁是否存在过期时间这个说法呢 如果存在 是否也存在 业务执行时间比
锁过期时间还长 导致业务还没执行完 锁就过期的问题