Class AtomicIntegerArray

    • Constructor Summary

      Constructors 
      Constructor Description
      AtomicIntegerArray​(int length)
      Creates a new AtomicIntegerArray of the given length, with all elements initially zero.
      AtomicIntegerArray​(int[] array)
      Creates a new AtomicIntegerArray 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
      int addAndGet​(int i, int delta)
      Atomically adds the given value to the element at index i.
      boolean compareAndSet​(int i, int expect, int update)
      Atomically sets the element at position i to the given updated value if the current value == the expected value.
      int decrementAndGet​(int i)
      Atomically decrements by one the element at index i.
      int get​(int i)
      Gets the current value at position i.
      int getAndAdd​(int i, int delta)
      Atomically adds the given value to the element at index i.
      int getAndDecrement​(int i)
      Atomically decrements by one the element at index i.
      int getAndIncrement​(int i)
      Atomically increments by one the element at index i.
      int getAndSet​(int i, int newValue)
      Atomically sets the element at position i to the given value and returns the old value.
      int incrementAndGet​(int i)
      Atomically increments by one the element at index i.
      void lazySet​(int i, int newValue)
      Eventually sets the element at position i to the given value.
      int length()
      Returns the length of the array.
      void set​(int i, int 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, int expect, int update)
      Atomically sets the element at position i to the given updated value if the current value == the expected value.
    • Constructor Detail

      • AtomicIntegerArray

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

        public AtomicIntegerArray​(int[] array)
        Creates a new AtomicIntegerArray 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 int 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,
                              int 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,
                                  int 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 int getAndSet​(int i,
                                   int 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,
                                           int expect,
                                           int 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,
                                               int expect,
                                               int 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 int getAndIncrement​(int i)
        Atomically increments by one the element at index i.
        Parameters:
        i - the index
        Returns:
        the previous value
      • getAndDecrement

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

        public final int getAndAdd​(int i,
                                   int 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 int incrementAndGet​(int i)
        Atomically increments by one the element at index i.
        Parameters:
        i - the index
        Returns:
        the updated value
      • decrementAndGet

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

        public final int addAndGet​(int i,
                                   int 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