public
class
AtomicReferenceArray
extends Object
implements
Serializable
java.lang.Object | |
↳ | java.util.concurrent.atomic.AtomicReferenceArray<E> |
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.
Public constructors | |
---|---|
AtomicReferenceArray(int length)
Creates a new AtomicReferenceArray of the given length, with all elements initially null. |
|
AtomicReferenceArray(E[] array)
Creates a new AtomicReferenceArray with the same length as, and all elements copied from, the given array. |
Public methods | |
---|---|
final
E
|
accumulateAndGet(int i, E x, BinaryOperator<E> accumulatorFunction)
Atomically updates the element at index |
final
boolean
|
compareAndSet(int i, E expect, E update)
Atomically sets the element at position |
final
E
|
get(int i)
Gets the current value at position |
final
E
|
getAndAccumulate(int i, E x, BinaryOperator<E> accumulatorFunction)
Atomically updates the element at index |
final
E
|
getAndSet(int i, E newValue)
Atomically sets the element at position |
final
E
|
getAndUpdate(int i, UnaryOperator<E> updateFunction)
Atomically updates the element at index |
final
void
|
lazySet(int i, E newValue)
Eventually sets the element at position |
final
int
|
length()
Returns the length of the array. |
final
void
|
set(int i, E newValue)
Sets the element at position |
String
|
toString()
Returns the String representation of the current values of array. |
final
E
|
updateAndGet(int i, UnaryOperator<E> updateFunction)
Atomically updates the element at index |
final
boolean
|
weakCompareAndSet(int i, E expect, E update)
Atomically sets the element at position |
Inherited methods | |
---|---|
From
class
java.lang.Object
|
AtomicReferenceArray (int length)
Creates a new AtomicReferenceArray of the given length, with all elements initially null.
Parameters | |
---|---|
length |
int :
the length of the array
|
AtomicReferenceArray (E[] array)
Creates a new AtomicReferenceArray with the same length as, and all elements copied from, the given array.
Parameters | |
---|---|
array |
E :
the array to copy elements from |
Throws | |
---|---|
NullPointerException |
if array is null |
E accumulateAndGet (int i, E x, BinaryOperator<E> accumulatorFunction)
Atomically updates the element at index i
with the
results of applying the given function to the current and
given values, returning the updated value. The function should
be side-effect-free, since it may be re-applied when attempted
updates fail due to contention among threads. The function is
applied with the current value at index i
as its first
argument, and the given update as the second argument.
Parameters | |
---|---|
i |
int :
the index |
x |
E :
the update value |
accumulatorFunction |
BinaryOperator :
a side-effect-free function of two arguments |
Returns | |
---|---|
E |
the updated value |
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 |
int :
the index |
expect |
E :
the expected value |
update |
E :
the new value |
Returns | |
---|---|
boolean |
true if successful. False return indicates that
the actual value was not equal to the expected value.
|
E get (int i)
Gets the current value at position i
.
Parameters | |
---|---|
i |
int :
the index |
Returns | |
---|---|
E |
the current value |
E getAndAccumulate (int i, E x, BinaryOperator<E> accumulatorFunction)
Atomically updates the element at index i
with the
results of applying the given function to the current and
given values, returning the previous value. The function should
be side-effect-free, since it may be re-applied when attempted
updates fail due to contention among threads. The function is
applied with the current value at index i
as its first
argument, and the given update as the second argument.
Parameters | |
---|---|
i |
int :
the index |
x |
E :
the update value |
accumulatorFunction |
BinaryOperator :
a side-effect-free function of two arguments |
Returns | |
---|---|
E |
the previous value |
E getAndSet (int i, E newValue)
Atomically sets the element at position i
to the given
value and returns the old value.
Parameters | |
---|---|
i |
int :
the index |
newValue |
E :
the new value |
Returns | |
---|---|
E |
the previous value |
E getAndUpdate (int i, UnaryOperator<E> updateFunction)
Atomically updates the element at index i
with the results
of applying the given function, returning the previous value. The
function should be side-effect-free, since it may be re-applied
when attempted updates fail due to contention among threads.
Parameters | |
---|---|
i |
int :
the index |
updateFunction |
UnaryOperator :
a side-effect-free function |
Returns | |
---|---|
E |
the previous value |
void lazySet (int i, E newValue)
Eventually sets the element at position i
to the given value.
Parameters | |
---|---|
i |
int :
the index |
newValue |
E :
the new value |
int length ()
Returns the length of the array.
Returns | |
---|---|
int |
the length of the array |
void set (int i, E newValue)
Sets the element at position i
to the given value.
Parameters | |
---|---|
i |
int :
the index |
newValue |
E :
the new value
|
String toString ()
Returns the String representation of the current values of array.
Returns | |
---|---|
String |
the String representation of the current values of array |
E updateAndGet (int i, UnaryOperator<E> updateFunction)
Atomically updates the element at index i
with the results
of applying the given function, returning the updated value. The
function should be side-effect-free, since it may be re-applied
when attempted updates fail due to contention among threads.
Parameters | |
---|---|
i |
int :
the index |
updateFunction |
UnaryOperator :
a side-effect-free function |
Returns | |
---|---|
E |
the updated value |
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 |
int :
the index |
expect |
E :
the expected value |
update |
E :
the new value |
Returns | |
---|---|
boolean |
true if successful
|