CAS锁简介说明

书欣 Java面经 发布时间:2022-07-31 20:24:54 阅读数:10119 1
下文笔者讲述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问题
     可以通过版本号或时间戳解决
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaMianJing/202207/16592712254086.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者