Class AtomicLongArray

java.lang.Object
java.util.concurrent.atomic.AtomicLongArray
All Implemented Interfaces:
Serializable

public class AtomicLongArray
extends Object
implements Serializable
A long array in which elements may be updated atomically. See the java.util.concurrent.atomic package specification for description of the properties of atomic variables.
Since:
1.5
Author:
Doug Lea
See Also:
Serialized Form
  • Constructor Summary

    Constructors
    Constructor Description
    AtomicLongArray​(int length)
    Creates a new AtomicLongArray of the given length, with all elements initially zero.
    AtomicLongArray​(long[] array)
    Creates a new AtomicLongArray with the same length as, and all elements copied from, the given array.
  • Method Summary

    Modifier and Type Method Description
    long addAndGet​(int i, long delta)
    Atomically adds the given value to the element at index i.
    boolean compareAndSet​(int i, long expect, long update)
    Atomically sets the element at position i to the given updated value if the current value == the expected value.
    long decrementAndGet​(int i)
    Atomically decrements by one the element at index i.
    long get​(int i)
    Gets the current value at position i.
    long getAndAdd​(int i, long delta)
    Atomically adds the given value to the element at index i.
    long getAndDecrement​(int i)
    Atomically decrements by one the element at index i.
    long getAndIncrement​(int i)
    Atomically increments by one the element at index i.
    long getAndSet​(int i, long newValue)
    Atomically sets the element at position i to the given value and returns the old value.
    long incrementAndGet​(int i)
    Atomically increments by one the element at index i.
    void lazySet​(int i, long newValue)
    Eventually sets the element at position i to the given value.
    int length()
    Returns the length of the array.
    void set​(int i, long newValue)
    Sets the element at position i to the given value.
    String toString()
    Returns the String representation of the current values of array.
    boolean weakCompareAndSet​(int i, long expect, long update)
    Atomically sets the element at position i to the given updated value if the current value == the expected value.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • AtomicLongArray

      public AtomicLongArray​(int length)
      Creates a new AtomicLongArray of the given length, with all elements initially zero.
      Parameters:
      length - the length of the array
    • AtomicLongArray

      public AtomicLongArray​(long[] array)
      Creates a new AtomicLongArray with the same length as, and all elements copied from, the given array.
      Parameters:
      array - the array to copy elements from
      Throws:
      NullPointerException - if array is null
  • Method Details

    • length

      public final int length()
      Returns the length of the array.
      Returns:
      the length of the array
    • get

      public final long get​(int i)
      Gets the current value at position i.
      Parameters:
      i - the index
      Returns:
      the current value
    • set

      public final void set​(int i, long newValue)
      Sets the element at position i to the given value.
      Parameters:
      i - the index
      newValue - the new value
    • lazySet

      public final void lazySet​(int i, long newValue)
      Eventually sets the element at position i to the given value.
      Parameters:
      i - the index
      newValue - the new value
      Since:
      1.6
    • getAndSet

      public final long getAndSet​(int i, long newValue)
      Atomically sets the element at position i to the given value and returns the old value.
      Parameters:
      i - the index
      newValue - the new value
      Returns:
      the previous value
    • compareAndSet

      public final boolean compareAndSet​(int i, long expect, long update)
      Atomically sets the element at position i to the given updated value if the current value == the expected value.
      Parameters:
      i - the index
      expect - the expected value
      update - the new value
      Returns:
      true if successful. False return indicates that the actual value was not equal to the expected value.
    • weakCompareAndSet

      public final boolean weakCompareAndSet​(int i, long expect, long update)
      Atomically sets the element at position i to the given updated value if the current value == the expected value.

      May fail spuriously and does not provide ordering guarantees, so is only rarely an appropriate alternative to compareAndSet.

      Parameters:
      i - the index
      expect - the expected value
      update - the new value
      Returns:
      true if successful
    • getAndIncrement

      public final long getAndIncrement​(int i)
      Atomically increments by one the element at index i.
      Parameters:
      i - the index
      Returns:
      the previous value
    • getAndDecrement

      public final long getAndDecrement​(int i)
      Atomically decrements by one the element at index i.
      Parameters:
      i - the index
      Returns:
      the previous value
    • getAndAdd

      public final long getAndAdd​(int i, long delta)
      Atomically adds the given value to the element at index i.
      Parameters:
      i - the index
      delta - the value to add
      Returns:
      the previous value
    • incrementAndGet

      public final long incrementAndGet​(int i)
      Atomically increments by one the element at index i.
      Parameters:
      i - the index
      Returns:
      the updated value
    • decrementAndGet

      public final long decrementAndGet​(int i)
      Atomically decrements by one the element at index i.
      Parameters:
      i - the index
      Returns:
      the updated value
    • addAndGet

      public long addAndGet​(int i, long delta)
      Atomically adds the given value to the element at index i.
      Parameters:
      i - the index
      delta - the value to add
      Returns:
      the updated value
    • toString

      public String toString()
      Returns the String representation of the current values of array.
      Overrides:
      toString in class Object
      Returns:
      the String representation of the current values of array