AtomicLongArray in java

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
Content Protection by DMCA.com
Please Share