您现在的位置是:课程教程文章

java CAS是什么

2023-12-14 21:53课程教程文章 人已围观

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是什么

上一篇:详谈socks代理和http代理的差异

下一篇:没有了

站点信息

  • 文章统计篇文章