The java.util.concurrent.atomic.AtomicLongArray class represents an array of long which are updated atomically.
Creating an AtomicLongArray
AtomicLongArray array = new AtomicLongArray(5);
It creates an atomic long array of capacity 5.
Commonly used methods of AtomicLongArray class
- get(int i): Reads the value atomically. I represents the index here.
- set(int i, long newValue): Writes the value atomically. I represents the index here.
- compareAndSet(int i, long expect, long update): Variable value is compared to the expect param, and if they are equal, then the value is set to the update param and true is returned. I represents the index here.
- addAndGet(int i, long delta): The delta is added to the value and the new value is returned. I represents the index here.
- getAndAdd(int i, long delta): It adds the delta to the value, and returns the previous value. I represents the index here.
- getAndIncrement(int i): The value is incremented, and its previous value is returned. I represents the index here.
- incrementAndGet(int i): The value is incremented and its new value is returned. I represents the index here.
- decrementAndGet(int i): The value is decremented and its new value is returned. I represents the index here.
- getAndDecrement(int i): The value is decremented and its previous value is returned. I represents the index here.
Example
import java.util.concurrent.atomic.AtomicLongArray; public class AtomicLongArrayTest { public static void main(String[] args) { AtomicLongArray atomicLongArray = new AtomicLongArray(new long[]{10,41,25,23}); System.out.println(atomicLongArray.get(3)); System.out.println(atomicLongArray.addAndGet(3,40)); System.out.println(atomicLongArray.getAndAdd(2,30)); System.out.println(atomicLongArray.get(2)); } } |
Output
23 63 25 55 |