码迷,mamicode.com
首页 > 编程语言 > 详细

CAS在Java类中的应用

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

标签:cas   官方   访问   div   机制   gpo   特点   线程安全   多个   

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类中的应用

标签:cas   官方   访问   div   机制   gpo   特点   线程安全   多个   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!