Java™ Platform
Standard Ed. 6

java.util.concurrent.atomic
Class AtomicReferenceArray<E>

java.lang.Object
  extended by java.util.concurrent.atomic.AtomicReferenceArray<E>
Type Parameters:
E - The base class of elements held in this array
All Implemented Interfaces:
Serializable

public class AtomicReferenceArray<E>
extends Object
implements Serializable

An array of object references 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
See Also:
Serialized Form

Constructor Summary
AtomicReferenceArray(E[] array)
          Creates a new AtomicReferenceArray with the same length as, and all elements copied from, the given array.
AtomicReferenceArray(int length)
          Creates a new AtomicReferenceArray of given length.
 
Method Summary
 boolean compareAndSet(int i, E expect, E update)
          Atomically sets the element at position i to the given updated value if the current value == the expected value.
 E get(int i)
          Gets the current value at position i.
 E getAndSet(int i, E newValue)
          Atomically sets the element at position i to the given value and returns the old value.
 void lazySet(int i, E newValue)
          Eventually sets the element at position i to the given value.
 int length()
          Returns the length of the array.
 void set(int i, E 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, E expect, E 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 Detail

AtomicReferenceArray

public AtomicReferenceArray(int length)
Creates a new AtomicReferenceArray of given length.

Parameters:
length - the length of the array

AtomicReferenceArray

public AtomicReferenceArray(E[] array)
Creates a new AtomicReferenceArray 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 E 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,
                      E 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,
                          E 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 E getAndSet(int i,
                         E 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,
                                   E expect,
                                   E 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,
                                       E expect,
                                       E 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.

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.

Java™ Platform
Standard Ed. 6

Submit a bug or feature
For further API reference and developer documentation, see Java SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright © 1993, 2011, Oracle and/or its affiliates. All rights reserved.