E - The base class of elements held in this arraypublic class AtomicReferenceArray<E> extends Object implements Serializable
java.util.concurrent.atomic package
specification for description of the properties of atomic
variables.| Constructor and Description |
|---|
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 the given length, with all
elements initially null.
|
| Modifier and Type | Method and Description |
|---|---|
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. |
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 |
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. |
E |
getAndSet(int i,
E newValue)
Atomically sets the element at position
i to the given
value and returns the old 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. |
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.
|
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. |
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. |
public AtomicReferenceArray(int length)
length - the length of the arraypublic AtomicReferenceArray(E[] array)
NullPointerException - if array is nullarray - the array to copy elements frompublic final int length()
public final E get(int i)
i.i - the indexpublic final void set(int i,
E newValue)
i to the given value.i - the indexnewValue - the new valuepublic final void lazySet(int i,
E newValue)
i to the given value.i - the indexnewValue - the new valuepublic final E getAndSet(int i, E newValue)
i to the given
value and returns the old value.i - the indexnewValue - the new valuepublic final boolean compareAndSet(int i,
E expect,
E update)
i to the given
updated value if the current value == the expected value.i - the indexexpect - the expected valueupdate - the new valuetrue if successful. False return indicates that
the actual value was not equal to the expected value.public final boolean weakCompareAndSet(int i,
E expect,
E update)
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.
i - the indexexpect - the expected valueupdate - the new valuetrue if successfulpublic final E getAndUpdate(int i, UnaryOperator<E> updateFunction)
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.i - the indexupdateFunction - a side-effect-free functionpublic final E updateAndGet(int i, UnaryOperator<E> updateFunction)
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.i - the indexupdateFunction - a side-effect-free functionpublic final E getAndAccumulate(int i, E x, BinaryOperator<E> accumulatorFunction)
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.i - the indexx - the update valueaccumulatorFunction - a side-effect-free function of two argumentspublic final E accumulateAndGet(int i, E x, BinaryOperator<E> accumulatorFunction)
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.i - the indexx - the update valueaccumulatorFunction - a side-effect-free function of two argumentsaicas GmbH, Karlsruhe, Germany —www.aicas.com
Copyright © 2001-2016 aicas GmbH. All Rights Reserved.