atomic的意思 AtomicReference如何保证对象在共享变量的原子操作?
浏览量:2429
时间:2021-03-11 16:40:31
作者:admin
AtomicReference如何保证对象在共享变量的原子操作?
Atomicreference属于Java,具有以下原子操作类,可以原子地更新引用类型。示例代码如下:
atomicreference<user> atomicuserref=new atomicreference<user>()
user=new user(“Tom”)原子用户参考集(user)
user updateuser=new user(“Lili”)//原子更新引用类型原子用户参考比较数据集(用户,更新用户)
中的原子引用在多线程环境下,原子更新引用类型有两个原因:
首先,原子引用中定义了volatile类型的引用来存储当前引用类型:
private volatile V value
volatile可以确保线程B更新值后,线程a可以立即看到值。你可以看到性。
2、Compareandset在不安全类的帮助下更新:
public final Boolean Compareandset(V expect,V update){
return不安全的.compareAndSwapObject(this,valueoffset,expect,update)
}
不安全类调用C方法,C调用处理器提供的CAS(compare and swap)指令进行原子更新。目前,大多数处理器都实现了该指令,因此原子更新需要底层处理器指令的支持。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。