Spec-Zone.ru › OpenJDK 8

Класс 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)

Атомарно обновляет элемент по индексу i результатом применения заданной функции к текущему и заданным значениям, возвращая обновлённое значение.

long addAndGet(int i, long delta)

Атомарно прибавляет заданное значение к элементу по индексу i.

boolean compareAndSet(int i, long expect, long update)

Атомарно устанавливает элемент в позиции i в заданное обновлённое значение, если текущее значение == ожидаемого значения.

long decrementAndGet(int i)

Атомарно уменьшает на единицу элемент по индексу i.

long get(int i)

Получает текущее значение в позиции i.

long getAndAccumulate(int i, long x, LongBinaryOperator accumulatorFunction)

Атомарно обновляет элемент по индексу i результатом применения заданной функции к текущему и заданным значениям, возвращая предыдущее значение.

long getAndAdd(int i, long delta)

Атомарно прибавляет заданное значение к элементу по индексу i.

long getAndDecrement(int i)

Атомарно уменьшает на единицу элемент по индексу i.

long getAndIncrement(int i)

Атомарно увеличивает на единицу элемент по индексу i.

long getAndSet(int i, long newValue)

Атомарно устанавливает элемент в позиции i в заданное значение и возвращает старое значение.

long getAndUpdate(int i, LongUnaryOperator updateFunction)

Атомарно обновляет элемент по индексу i результатом применения заданной функции, возвращая предыдущее значение.

long incrementAndGet(int i)

Атомарно увеличивает на единицу элемент по индексу i.

void lazySet(int i, long newValue)

В конечном счёте устанавливает элемент в позиции i в заданное значение.

int length()

Возвращает длину массива.

void set(int i, long newValue)

Устанавливает элемент в позиции i в заданное значение.

String toString()

Возвращает строковое представление текущих значений массива.

long updateAndGet(int i, LongUnaryOperator updateFunction)

Атомарно обновляет элемент по индексу i результатом применения заданной функции, возвращая обновлённое значение.

boolean weakCompareAndSet(int i, long expect, long update)

Атомарно устанавливает элемент в позиции i в заданное обновлённое значение, если текущее значение == ожидаемого значения.

Методы, унаследованные от класса 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()

Возвращает строковое представление текущих значений массива.

Переопределяет:
toString в классе Object
Возвращает:
строковое представление текущих значений массива

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API