From 0d58c22f73d9609b4eb10ab59672348647bba9dc Mon Sep 17 00:00:00 2001 From: KKKelo <810831037@qq.com> Date: Tue, 24 Mar 2020 19:03:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=89=E4=B8=AA=E5=8E=9F=E5=AD=90=E7=B1=BB?= =?UTF-8?q?=20=E7=B1=BB=E5=9E=8B=E5=BD=92=E7=B1=BB=E7=9A=84=E7=96=91?= =?UTF-8?q?=E9=97=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 是不是这样的? AtomicStampedReference应该是引用类型的。 AtomicReferenceFieldUpdater应该是属于对象的属性修改类型的。 --- docs/java/Multithread/Atomic.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/java/Multithread/Atomic.md b/docs/java/Multithread/Atomic.md index 7dd026e9..c5634fcb 100644 --- a/docs/java/Multithread/Atomic.md +++ b/docs/java/Multithread/Atomic.md @@ -56,15 +56,14 @@ Atomic 翻译成中文是原子的意思。在化学上,我们知道原子是 **引用类型** - AtomicReference:引用类型原子类 -- AtomicReferenceFieldUpdater:原子更新引用类型里的字段 +- AtomicStampedReference:原子更新带有版本号的引用类型。该类将整数值与引用关联起来,可用于解决原子的更新数据和数据的版本号,可以解决使用 CAS 进行原子更新时可能出现的 ABA 问题。 - AtomicMarkableReference :原子更新带有标记位的引用类型 **对象的属性修改类型** - AtomicIntegerFieldUpdater:原子更新整型字段的更新器 - AtomicLongFieldUpdater:原子更新长整型字段的更新器 -- AtomicStampedReference :原子更新带有版本号的引用类型。该类将整数值与引用关联起来,可用于解决原子的更新数据和数据的版本号,可以解决使用 CAS 进行原子更新时可能出现的 ABA 问题。 -- AtomicMarkableReference:原子更新带有标记的引用类型。该类将 boolean 标记与引用关联起来,~~也可以解决使用 CAS 进行原子更新时可能出现的 ABA 问题。~~ +- AtomicReferenceFieldUpdater:原子更新引用类型里的字段 > 修正: **AtomicMarkableReference 不能解决ABA问题** **[issue#626](https://github.com/Snailclimb/JavaGuide/issues/626)**