Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions docs/java/concurrent/atomic-classes.md
Original file line number Diff line number Diff line change
Expand Up @@ -341,7 +341,7 @@ Final Reference: Daisy, Final Mark: true
- `AtomicLongFieldUpdater`:原子更新长整形字段的更新器
- `AtomicReferenceFieldUpdater`:原子更新引用类型里的字段的更新器

要想原子地更新对象的属性需要两步。第一步,因为对象的属性修改类型原子类都是抽象类,所以每次使用都必须使用静态方法 newUpdater()创建一个更新器,并且需要设置想要更新的类和属性。第二步,更新的对象属性必须使用 public volatile 修饰符。
要想原子地更新对象的属性需要两步。第一步,因为对象的属性修改类型原子类都是抽象类,所以每次使用都必须使用静态方法 newUpdater()创建一个更新器,并且需要设置想要更新的类和属性。第二步,更新的对象属性必须使用 volatile int 修饰符。

上面三个类提供的方法几乎相同,所以我们这里以 `AtomicIntegerFieldUpdater`为例子来介绍。

Expand All @@ -351,8 +351,8 @@ Final Reference: Daisy, Final Mark: true
// Person 类
class Person {
private String name;
// 要使用 AtomicIntegerFieldUpdater,字段必须是 public volatile
private volatile int age;
// 要使用 AtomicIntegerFieldUpdater,字段必须是 volatile int
volatile int age;
//省略getter/setter和toString
}

Expand Down