原子更新字段类

本文提供了一个关于AtomicIntegerFieldUpdater的使用案例,演示了如何在Java中通过AtomicIntegerFieldUpdater更新User类中的volatile int字段,并展示了getAndIncrement方法的用法。
 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的

转载于:https://www.cnblogs.com/xcyz/p/8033531.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值