Класс AtomicLongArray
- java.lang.Object
-
- java.util.concurrent.atomic.AtomicLongArray
- Все реализованные интерфейсы:
- Serializable
public class AtomicLongArray extends Object implements Serializable
Массив long, в котором элементы могут быть обновлены атомарно. Смотрите спецификацию пакета java.util.concurrent.atomic для описания свойств атомарных переменных.
- С тех пор:
- 1.5
- См. также:
- Сериализованная форма
Конструкторы
| Конструктор и описание |
|---|
AtomicLongArray(int length) Создаёт новый AtomicLongArray заданной длины, со всеми элементами, первоначально равными нулю. |
AtomicLongArray(long[] array) Создаёт новый AtomicLongArray с такой же длиной, как и в заданном массиве, и со всеми элементами, скопированными из заданного массива. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
long |
accumulateAndGet(int i,
long x,
LongBinaryOperator accumulatorFunction) Атомарно обновляет элемент по индексу |
long |
addAndGet(int i,
long delta) Атомарно прибавляет заданное значение к элементу по индексу |
boolean |
compareAndSet(int i,
long expect,
long update) Атомарно устанавливает элемент в позиции |
long |
decrementAndGet(int i) Атомарно уменьшает на единицу элемент по индексу |
long |
get(int i) Получает текущее значение в позиции |
long |
getAndAccumulate(int i,
long x,
LongBinaryOperator accumulatorFunction) Атомарно обновляет элемент по индексу |
long |
getAndAdd(int i,
long delta) Атомарно прибавляет заданное значение к элементу по индексу |
long |
getAndDecrement(int i) Атомарно уменьшает на единицу элемент по индексу |
long |
getAndIncrement(int i) Атомарно увеличивает на единицу элемент по индексу |
long |
getAndSet(int i,
long newValue) Атомарно устанавливает элемент в позиции |
long |
getAndUpdate(int i,
LongUnaryOperator updateFunction) Атомарно обновляет элемент по индексу |
long |
incrementAndGet(int i) Атомарно увеличивает на единицу элемент по индексу |
void |
lazySet(int i,
long newValue) В конечном счёте устанавливает элемент в позиции |
int |
length() Возвращает длину массива. |
void |
set(int i,
long newValue) Устанавливает элемент в позиции |
String |
toString() Возвращает строковое представление текущих значений массива. |
long |
updateAndGet(int i,
LongUnaryOperator updateFunction) Атомарно обновляет элемент по индексу |
boolean |
weakCompareAndSet(int i,
long expect,
long update) Атомарно устанавливает элемент в позиции |
Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait Конструкторы
AtomicLongArray
public AtomicLongArray(int length)
Создаёт новый AtomicLongArray заданной длины, все элементы которого изначально равны нулю.
- Параметры:
-
length- длина массива
AtomicLongArray
public AtomicLongArray(long[] array)
Создаёт новый AtomicLongArray с такой же длиной, как и у заданного массива, и всеми элементами, скопированными из него.
- Параметры:
-
array- массив для копирования элементов - Исключения:
-
NullPointerException- если массив равен null
Методы
length
public final int length()
Возвращает длину массива.
- Возвращает:
- длину массива
get
public final long get(int i)
Возвращает текущее значение в позиции i.
- Параметры:
-
i- индекс - Возвращает:
- текущее значение
set
public final void set(int i,
long newValue) Устанавливает элемент в позиции i заданному значению.
- Параметры:
-
i- индекс -
newValue- новое значение
lazySet
public final void lazySet(int i,
long newValue) В конечном итоге устанавливает элемент в позиции i заданному значению.
- Параметры:
-
i- индекс -
newValue- новое значение - См. также:
- 1.6
getAndSet
public final long getAndSet(int i,
long newValue) Атомарно устанавливает элемент в позиции i заданному значению и возвращает старое значение.
- Параметры:
-
i- индекс -
newValue- новое значение - Возвращает:
- предыдущее значение
compareAndSet
public final boolean compareAndSet(int i,
long expect,
long update) Атомарно устанавливает элемент в позиции i заданному обновлённому значению, если текущее значение == ожидаемого значения.
- Параметры:
-
i- индекс -
expect- ожидаемое значение -
update- новое значение - Возвращает:
-
trueв случае успеха. Возвращение False означает, что фактическое значение не равнялось ожидаемому значению.
weakCompareAndSet
public final boolean weakCompareAndSet(int i,
long expect,
long update) Атомарно устанавливает элемент в позиции i заданному обновлённому значению, если текущее значение == ожидаемого значения.
Может случайным образом завершиться неудачей и не обеспечивает гарантии упорядоченности, поэтому является лишь редкой альтернативой compareAndSet.
- Параметры:
-
i- индекс -
expect- ожидаемое значение -
update- новое значение - Возвращает:
-
trueв случае успеха
getAndIncrement
public final long getAndIncrement(int i)
Атомарно увеличивает на единицу элемент по индексу i.
- Параметры:
-
i- индекс - Возвращает:
- предыдущее значение
getAndDecrement
public final long getAndDecrement(int i)
Атомарно уменьшает на единицу элемент по индексу i.
- Параметры:
-
i- индекс - Возвращает:
- предыдущее значение
getAndAdd
public final long getAndAdd(int i,
long delta) Атомарно добавляет заданное значение к элементу по индексу i.
- Параметры:
-
i- индекс -
delta- значение для добавления - Возвращает:
- предыдущее значение
incrementAndGet
public final long incrementAndGet(int i)
Атомарно увеличивает на единицу элемент по индексу i.
- Параметры:
-
i- индекс - Возвращает:
- обновлённое значение
decrementAndGet
public final long decrementAndGet(int i)
Атомарно уменьшает на единицу элемент по индексу i.
- Параметры:
-
i- индекс - Возвращает:
- обновлённое значение
addAndGet
public long addAndGet(int i,
long delta) Атомарно добавляет заданное значение к элементу по индексу i.
- Параметры:
-
i- индекс -
delta- значение для добавления - Возвращает:
- обновлённое значение
getAndUpdate
public final long getAndUpdate(int i,
LongUnaryOperator updateFunction) Атомарно обновляет элемент по индексу i результатом применения заданной функции, возвращая предыдущее значение. Функция должна быть без побочных эффектов, так как она может быть повторно применена, когда попытки обновления терпят неудачу из-за конкуренции между потоками.
- Параметры:
-
i- индекс -
updateFunction- функция без побочных эффектов - Возвращает:
- предыдущее значение
- См. также:
- 1.8
updateAndGet
public final long updateAndGet(int i,
LongUnaryOperator updateFunction) Атомарно обновляет элемент по индексу i результатом применения заданной функции, возвращая обновлённое значение. Функция должна быть без побочных эффектов, так как она может быть повторно применена, когда попытки обновления терпят неудачу из-за конкуренции между потоками.
- Параметры:
-
i- индекс -
updateFunction- функция без побочных эффектов - Возвращает:
- обновлённое значение
- См. также:
- 1.8
getAndAccumulate
public final long getAndAccumulate(int i,
long x,
LongBinaryOperator accumulatorFunction) Атомарно обновляет элемент по индексу i результатом применения заданной функции к текущему и заданному значениям, возвращая предыдущее значение. Функция должна быть без побочных эффектов, так как она может быть повторно применена, когда попытки обновления терпят неудачу из-за конкуренции между потоками. Функция применяется к текущему значению по индексу i в качестве первого аргумента и заданному обновлению в качестве второго аргумента.
- Параметры:
-
i- индекс -
x- значение обновления -
accumulatorFunction- функция без побочных эффектов от двух аргументов - Возвращает:
- предыдущее значение
- См. также:
- 1.8
accumulateAndGet
public final long accumulateAndGet(int i,
long x,
LongBinaryOperator accumulatorFunction) Атомарно обновляет элемент по индексу i результатом применения заданной функции к текущему и заданному значениям, возвращая обновлённое значение. Функция должна быть без побочных эффектов, так как она может быть повторно применена, когда попытки обновления терпят неудачу из-за конкуренции между потоками. Функция применяется к текущему значению по индексу i в качестве первого аргумента и заданному обновлению в качестве второго аргумента.
- Параметры:
-
i- индекс -
x- значение обновления -
accumulatorFunction- функция без побочных эффектов от двух аргументов - Возвращает:
- обновлённое значение
- См. также:
- 1.8
toString
public String toString()
Возвращает строковое представление текущих значений массива.
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.