CAS锁简介说明
下文笔者讲述CAS锁简介说明,如下所示
CAS锁简介说明
CAS主要用于无锁编程 即不使用锁的情况下实现多线程之间的变量同步 也就是在没有现成被阻塞的情况下实现变量的同步
为什么需要CAS锁呢?
CAS用于保证原子性,用于更新内存中判断内存值是否被别人修改过, 如果没有修改,则直接更新 如果修改,则重新获取值,直到更新完成位置
CAS缺点
1.只能支持一个变量的原子操作 不能保证整个代码块的原子操作 2.CAS频繁失败导致CPU开销大 3.ABS问题:线程1和线程2同时去修改一个变量 将值从A改为B 但线程1突然阻塞,此时线程2将A改为B 然后线程3又将B改成A 此时线程1将A又改为B 这个过程线程2是不知道的 这就是ABA问题 可以通过版本号或时间戳解决
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。