1 class AtomicIntegerFieldUpdaterTest{ 2 //创建原子更新器,并设置需要更新的对象类和对象的属性 3 public static AtomicIntegerFieldUpdater atomicIntegerFieldUpdater = AtomicIntegerFieldUpdater.newUpdater(User.class ,"old"); 4 // @SuppressWarnings("Uncheck") 5 public static void main(String[] args){ 6 //设置tom年龄19岁 7 User tom = new User("tom",19); 8 //更新年龄,getAndIncrement返回旧年龄 9 System.out.println(atomicIntegerFieldUpdater.getAndIncrement(tom)); 10 //输出现在年龄 11 System.out.println(atomicIntegerFieldUpdater.get(tom)); 12 } 13 static class User{ 14 private String name; 15 public volatile int old; 16 public User(String name, int old){ 17 this.name = name; 18 this.old = old; 19 } 20 public String getName(){ 21 return name; 22 } 23 public int getOld(){ 24 return old; 25 } 26 } 27 }
输出:
19 20
注意:old必须是volatile的