1. 程式人生 > >java原子操作類-原子陣列類

java原子操作類-原子陣列類

java還提供了通過原子方式更新數組裡的某個元素,Atomic包提供了以下4個類。

AtomicIntegerArray:原子更新整型數組裡的元素

AtomicLongArray:原子更新長整型數組裡的元素

AtomicReferenceArray:原子更新引用型別數組裡的元素

AtomicIntegerArray用法

public class AtomicIntegerArrayTest {
    static int[] array = new int[]{1,2};
    static AtomicIntegerArray ai = new AtomicIntegerArray(array);

    public static void main(String[] args) {
        ai.getAndSet(1,6);
        System.out.println(ai.get(1));
        System.out.println(array[1]);
    }
}

輸出結果:

6
2

通過結果可以發現,陣列通過構造方法傳遞進去,

this.array = array.clone();
在構造器中會克隆一份陣列,所以當AtomicIntegerArray對傳入的陣列的值進行修改時,不會影響傳入的陣列。