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的

posted on 2017-12-13 16:24  飞奔的菜鸟  阅读(117)  评论(0编辑  收藏  举报