• 技术文章 >java >java基础

    java CAS是什么

    小妮浅浅小妮浅浅2021-05-27 09:41:17原创4349

    1、说明

    当多个线程同时对某个资源进行CAS操作时,只有一个线程成功,但不会堵塞其他线程,其他线程只会收到操作失败的信号。可见CAS其实是一个乐观的锁。

    2、实例

    跟随AtomInteger的代码,我们可以发现最终调用的是sum.misc.Unsafe。看看Unsafe这个名字,它是一个不安全的类别,它利用了Java类别和可见性规则中恰到好处的漏洞。为了速度,Unsafe在Java的安全标准上做出了一些妥协。

    public final native boolean compareAndSwapInt(Object var1, long var2, int var4, int var5);

    这几个 CAS 的方法应该是使用了本地的方法。所以这几个方法的具体实现需要我们自己去 jdk 的源码中搜索。

    以上就是java CAS的基本介绍,希望对大家有所帮助。更多Java学习指路:Java基础

    本教程操作环境:windows7系统、java10版,DELL G3电脑。

    专题推荐:java cas
    品易云
    上一篇:java线程优先级是什么 下一篇:java字节码是什么

    相关文章推荐

    • Java中trim怎么用?• Java中strip是什么?• Java内存交互的规则• Java中Collection如何通过迭代器访问?• java线程优先级是什么

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网