Atomic系列類整體介紹



本博客系列是學習並發編程過程中的記錄總結。由於文章比較多,寫的時間也比較散,所以我整理了個目錄貼(傳送門),方便查閱。

並發編程系列博客傳送門


本文是轉載文章,原文請見此博客,文章主要對java.util.concurrent.atomic開發包下的類進行整體概述與類別划分。

版本說明

在JDK1.5版本之前,多行代碼的原子性主要通過synchronized關鍵字進行保證。

在JDK1.5版本,Java提供了原子類型專門確保變量操作的原子性。

開發包整體說明

原子類型位於java.util.concurrent.atomic包下,其主要類如下:

其類圖關系如下:

原子類型划分

為了方面對這些類逐級掌握,我將這些原子類型分為以下幾類:

  • 普通原子類型:提供對boolean、int、long和對象的原子性操作。

    • AtomicBoolean
    • AtomicInteger
    • AtomicLong
    • AtomicReference
  • 原子類型數組:提供對數組元素的原子性操作。

    • AtomicLongArray
    • AtomicIntegerArray
    • AtomicReferenceArray
  • 原子類型字段更新器:提供對指定對象的指定字段進行原子性操作。

    • AtomicLongFieldUpdater
    • AtomicIntegerFieldUpdater
    • AtomicReferenceFieldUpdater
  • 帶版本號的原子引用類型:以版本戳的方式解決原子類型的ABA問題。

    • AtomicStampedReference
    • AtomicMarkableReference
  • 原子累加器(JDK1.8):AtomicLong和AtomicDouble的升級類型,專門用於數據統計,性能更高。

    • DoubleAccumulator
    • DoubleAdder
    • LongAccumulator
    • LongAdder


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM