首页 > 编程语言 > 详细

CAS在Java类中的应用

时间:2017-12-26 19:27:01      阅读:144      评论:0      收藏:0      [点我收藏+]

CAS

这个指令全称 compare and swap 即比较替换指令,在现代处理器新加入的指令。

指导思想:基于乐观锁机制。比较一个变量在内存值中的值和变量的当前值(旧值)。如果相等,则认为该变量没有发生改变,使用新值替代旧值;否则认为替换失败。

Unsafe

在java程序的多线程环境中,如果一个变量被多个线程访问,要保证线程安全,除了 volatile、锁、final、static这些手段外,可以借助java提供的 sun.misc.Unsafe类

这个类两个特点:

平台相关的(java语言平台无关),c语言写的。对了java类提供了compareAndSwap方法

不在Java API中,我们只能使用java官方提供的一些类,比如原子类、Random等

既然我们没办法直接使用Unsafe,那我们来看JDK中是如何使用这个类的。

 

CAS在Java类中的应用

原文:https://www.cnblogs.com/zhengwenqiang/p/8119590.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!