本文共 2208 字,大约阅读时间需要 7 分钟。
AtomicInteger ai = new AtomicInteger(2); ai.addAndGet(10); System.out.println(ai.get());//输出12
AtomicInteger ai = new AtomicInteger(2); ai.addAndGet(10);// ai=12 ai.compareAndSet(12,13); System.out.println(ai.get());//输出13
public final void lazySet(long newValue) { unsafe.putOrderedLong(this, valueOffset, newValue); }
User user = new User("aaa",1); ref.set(user); User userForUpdate = new User("bbb",2); ref.compareAndSet(user,userForUpdate); System.out.println(user.getName());//aaa System.out.println(user.getOld());//1 System.out.println("-----------------------"); System.out.println(ref.get().getName());//bbb System.out.println(ref.get().getOld());//2
static AtomicIntegerFieldUpdater a = AtomicIntegerFieldUpdater.newUpdater(User.class,"old"); public static void main(String[] args) { User u = new User("kkk",10); System.out.println(a.getAndIncrement(u)); System.out.println(a.get(u)); } static class User{ private String name; public volatile int old; public User(String name, int old) { this.name = name; this.old = old; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getOld() { return old; } public void setOld(int old) { this.old = old; } }
转载地址:http://hqiii.baihongyu.com/