Java中Atomic包下,提供了一些簡單、高效並且線程安全的更新一個變量的方式,包含四種類型的原子更新方式:原子更新基本類型、原子更新數組類型、原子更新引用類型,原子更新字段類。
原子更新基本類型:
- AtomicBoolean:原子更新布爾類型變量值
- AtomicInteger:原子更新整型
- AtomicLong:原子更新長整型
原子更新數組:
- AtomicIntegerArray:原子更新整型數組裏的元素
- AtomicLongArray:原子更新長整型數組裏的元素
- AtomicReferenceArray:原子更新引用數組裏的數據
注:數組通過構造函數傳遞進行,會將其複製一份,對內部數組元素修改時,不會影響傳入的數組。
原子更新引用類型:
- AtomicReference:原子更新引用類型
- AtomicReferenceFieldUpdate:原子更新引用類型裏的字段
- AtomicMarkable:原子更新帶有標記位的引用類型
原子更新字段類:
- AtomicIntegerFieldUpdater:原子更新整型的字段更新器
- AtomicLongFieldUpdater:原子更新長整型的字段更新器
- AtomicStampedReference:原子更新帶有版本號的引用類型