Class AtomicLongArray

    • 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

      All Methods Instance Methods Concrete Methods 
      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.
    • Constructor Detail

      • 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 Detail

      • 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