AtomicReferenceFieldUpdater
一个基于反射的工具类,它能对指定类的指定的volatile引用字段进行原子更新。(注意这个字段不能是private的)
通过调用AtomicReferenceFieldUpdater的静态方法newUpdater就能创建它的实例,该方法要接收三个参数:
包含该字段的对象的类
将被更新的对象的类
将被更新的字段的名称
下面是例子:
结果输出是:
test
一个基于反射的工具类,它能对指定类的指定的volatile引用字段进行原子更新。(注意这个字段不能是private的)
通过调用AtomicReferenceFieldUpdater的静态方法newUpdater就能创建它的实例,该方法要接收三个参数:
包含该字段的对象的类
将被更新的对象的类
将被更新的字段的名称
下面是例子:
- package com.huangyunbin;
- import java.util.concurrent.atomic.AtomicReferenceFieldUpdater;
- public class App
- {
- public static void main(String[] args) throws Exception
- {
- AtomicReferenceFieldUpdater updater=AtomicReferenceFieldUpdater.newUpdater(Dog.class,String.class,"name");
- Dog dog1=new Dog();
- updater.compareAndSet(dog1,dog1.name,"test") ;
- System.out.println(dog1.name);
- }
- }
- class Dog
- {
- volatile String name="dog1";
- }
结果输出是:
test