AtomicIntegerArray
open class AtomicIntegerArray : Serializable
| kotlin.Any | |
| ↳ | java.util.concurrent.atomic.AtomicIntegerArray |
An int array in which elements may be updated atomically. See the java.util.concurrent.atomic package specification for description of the properties of atomic variables.
Summary
Public constructors |
|
|---|---|
|
Creates a new AtomicIntegerArray of the given length, with all elements initially zero. |
|
|
Creates a new AtomicIntegerArray with the same length as, and all elements copied from, the given array. |
|
Public methods |
|
|---|---|
| Int |
accumulateAndGet(i: Int, x: Int, accumulatorFunction: IntBinaryOperator!)Atomically updates the element at index |
| Int |
Atomically adds the given value to the element at index |
| Boolean |
compareAndSet(i: Int, expect: Int, update: Int)Atomically sets the element at position |
| Int |
decrementAndGet(i: Int)Atomically decrements by one the element at index |
| Int |
Gets the current value at position |
| Int |
getAndAccumulate(i: Int, x: Int, accumulatorFunction: IntBinaryOperator!)Atomically updates the element at index |
| Int |
Atomically adds the given value to the element at index |
| Int |
getAndDecrement(i: Int)Atomically decrements by one the element at index |
| Int |
getAndIncrement(i: Int)Atomically increments by one the element at index |
| Int |
Atomically sets the element at position |
| Int |
getAndUpdate(i: Int, updateFunction: IntUnaryOperator!)Atomically updates the element at index |
| Int |
incrementAndGet(i: Int)Atomically increments by one the element at index |
| Unit |
Eventually sets the element at position |
| Int |
length()Returns the length of the array. |
| Unit |
Sets the element at position |
| open String |
toString()Returns the String representation of the current values of array. |
| Int |
updateAndGet(i: Int, updateFunction: IntUnaryOperator!)Atomically updates the element at index |
| Boolean |
weakCompareAndSet(i: Int, expect: Int, update: Int)Atomically sets the element at position |
Public constructors
<init>
AtomicIntegerArray(length: Int)
Creates a new AtomicIntegerArray of the given length, with all elements initially zero.
| Parameters | |
|---|---|
length |
Int: the length of the array |
<init>
AtomicIntegerArray(array: IntArray!)
Creates a new AtomicIntegerArray with the same length as, and all elements copied from, the given array.
| Parameters | |
|---|---|
array |
IntArray!: the array to copy elements from |
| Exceptions | |
|---|---|
java.lang.NullPointerException |
if array is null |
Public methods
accumulateAndGet
fun accumulateAndGet(
i: Int,
x: Int,
accumulatorFunction: IntBinaryOperator!
): Int
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 |
Int: the update value |
accumulatorFunction |
IntBinaryOperator!: a side-effect-free function of two arguments |
| Return | |
|---|---|
Int |
the updated value |
addAndGet
fun addAndGet(
i: Int,
delta: Int
): Int
Atomically adds the given value to the element at index i.
| Parameters | |
|---|---|
i |
Int: the index |
delta |
Int: the value to add |
| Return | |
|---|---|
Int |
the updated value |
compareAndSet
fun compareAndSet(
i: Int,
expect: Int,
update: Int
): Boolean
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 |
Int: the expected value |
update |
Int: the new value |
| Return | |
|---|---|
Boolean |
true if successful. False return indicates that the actual value was not equal to the expected value. |
decrementAndGet
fun decrementAndGet(i: Int): Int
Atomically decrements by one the element at index i.
| Parameters | |
|---|---|
i |
Int: the index |
| Return | |
|---|---|
Int |
the updated value |
get
fun get(i: Int): Int
Gets the current value at position i.
| Parameters | |
|---|---|
i |
Int: the index |
| Return | |
|---|---|
Int |
the current value |
getAndAccumulate
fun getAndAccumulate(
i: Int,
x: Int,
accumulatorFunction: IntBinaryOperator!
): Int
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 |
Int: the update value |
accumulatorFunction |
IntBinaryOperator!: a side-effect-free function of two arguments |
| Return | |
|---|---|
Int |
the previous value |
getAndAdd
fun getAndAdd(
i: Int,
delta: Int
): Int
Atomically adds the given value to the element at index i.
| Parameters | |
|---|---|
i |
Int: the index |
delta |
Int: the value to add |
| Return | |
|---|---|
Int |
the previous value |
getAndDecrement
fun getAndDecrement(i: Int): Int
Atomically decrements by one the element at index i.
| Parameters | |
|---|---|
i |
Int: the index |
| Return | |
|---|---|
Int |
the previous value |
getAndIncrement
fun getAndIncrement(i: Int): Int
Atomically increments by one the element at index i.
| Parameters | |
|---|---|
i |
Int: the index |
| Return | |
|---|---|
Int |
the previous value |
getAndSet
fun getAndSet(
i: Int,
newValue: Int
): Int
Atomically sets the element at position i to the given value and returns the old value.
| Parameters | |
|---|---|
i |
Int: the index |
newValue |
Int: the new value |
| Return | |
|---|---|
Int |
the previous value |
getAndUpdate
fun getAndUpdate(
i: Int,
updateFunction: IntUnaryOperator!
): Int
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 |
IntUnaryOperator!: a side-effect-free function |
| Return | |
|---|---|
Int |
the previous value |
incrementAndGet
fun incrementAndGet(i: Int): Int
Atomically increments by one the element at index i.
| Parameters | |
|---|---|
i |
Int: the index |
| Return | |
|---|---|
Int |
the updated value |
lazySet
fun lazySet(
i: Int,
newValue: Int
): Unit
Eventually sets the element at position i to the given value.
| Parameters | |
|---|---|
i |
Int: the index |
newValue |
Int: the new value |
length
fun length(): Int
Returns the length of the array.
| Return | |
|---|---|
Int |
the length of the array |
set
fun set(
i: Int,
newValue: Int
): Unit
Sets the element at position i to the given value.
| Parameters | |
|---|---|
i |
Int: the index |
newValue |
Int: the new value |
toString
open fun toString(): String
Returns the String representation of the current values of array.
| Return | |
|---|---|
String |
the String representation of the current values of array |
updateAndGet
fun updateAndGet(
i: Int,
updateFunction: IntUnaryOperator!
): Int
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 |
IntUnaryOperator!: a side-effect-free function |
| Return | |
|---|---|
Int |
the updated value |
weakCompareAndSet
fun weakCompareAndSet(
i: Int,
expect: Int,
update: Int
): Boolean
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 |
Int: the expected value |
update |
Int: the new value |
| Return | |
|---|---|
Boolean |
true if successful |