【java】線程安全的整型類AtomicInteger


一、遇見AtomicInteger

在看項目代碼的時候看到這個類,發現其功能很簡單,就是一個整型變量的類型,出於好奇看了其類定義。

該類位於java.util.concurrent.atomic下,在concurrent下可知該類肯定與並發和原子性相關。

 

二、進一步了解

源碼非常簡單,結合其他人的博客,基本可以了解到AtomicInteger類是一個提供原子操作的Integer類。

普通的整型類如int和Integer類,在++i/i++等操作並不是線程安全的,在並發環境下容易出現臟數據。

AtomicInteger使用了volatile關鍵字進行修飾,使得該類可以滿足線程安全。

    private volatile int value;

    /**
     * Creates a new AtomicInteger with the given initial value.
     *
     * @param initialValue the initial value
     */
    public AtomicInteger(int initialValue) {
        value = initialValue;
    }

    /**
     * Creates a new AtomicInteger with initial value {@code 0}.
     */
    public AtomicInteger() {
    }

在源碼中也有所體現。


免責聲明!

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



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