04 2022 档案
摘要:目录分布式锁分布式锁设计需解决的问题Redis如何获取锁?持有锁之后,如何保证其他线程不会获取锁或者释放锁?如何释放锁?释放锁时出现异常,如何保证不死锁?获取不到锁时,应该做些什么才能等锁释放之后,尽快获取锁?如何保证以上操作的线程安全问题,例如获取锁的时候同时设置锁超时时间,释放锁时释放的自己持有
阅读全文
摘要:CAS(Compare And Swap) 一种无锁(lock-free)算法 是一种乐观锁 是实现自旋锁的手段 理论上认为从内存直接取值然后修改是顺序队列的 思想 使用一个原子操作。首先确定内存原值与预期原值是否相同,如果相同,然后立刻将内存原值改为新值 类似于修改密码:输入旧密码与新密码同时提交
阅读全文