Spec-Zone.ru › OpenJDK 8

Класс AtomicReference<V>

  • java.lang.Object
    • java.util.concurrent.atomic.AtomicReference<V>
Type Parameters:
V - Тип объекта, на который ссылается эта ссылка
Все реализуемые интерфейсы:
Serializable

public class AtomicReference<V>
extends Object
implements Serializable

Ссылка на объект, которая может быть обновлена атомарно. См. спецификацию пакета java.util.concurrent.atomic для описания свойств атомарных переменных.

С тех пор:
1.5
См. также:
Сериализованная форма

Конструкторы

Конструктор и описание
AtomicReference()

Создаёт новый AtomicReference с начальным значением null.

AtomicReference(V initialValue)

Создаёт новый AtomicReference с заданным начальным значением.

Методы

Модификатор и тип Метод и описание
V accumulateAndGet(V x, BinaryOperator<V> accumulatorFunction)

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

boolean compareAndSet(V expect, V update)

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

V get()

Получает текущее значение.

V getAndAccumulate(V x, BinaryOperator<V> accumulatorFunction)

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

V getAndSet(V newValue)

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

V getAndUpdate(UnaryOperator<V> updateFunction)

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

void lazySet(V newValue)

В конечном итоге устанавливает заданное значение.

void set(V newValue)

Устанавливает заданное значение.

String toString()

Возвращает строковое представление текущего значения.

V updateAndGet(UnaryOperator<V> updateFunction)

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

boolean weakCompareAndSet(V expect, V update)

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

Методы, унаследованные от класса java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Конструкторы

AtomicReference

public AtomicReference(V initialValue)

Создаёт новый AtomicReference с заданным начальным значением.

Параметры:
initialValue - начальное значение

AtomicReference

public AtomicReference()

Создаёт новый AtomicReference с начальным значением null.

Методы

get

public final V get()

Получает текущее значение.

Возвращает:
текущее значение

set

public final void set(V newValue)

Устанавливает заданное значение.

Параметры:
newValue - новое значение

lazySet

public final void lazySet(V newValue)

В конечном итоге устанавливает заданное значение.

Параметры:
newValue - новое значение
С тех пор:
1.6

compareAndSet

public final boolean compareAndSet(V expect,
                                   V update)

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

Параметры:
expect - ожидаемое значение
update - новое значение
Возвращает:
true если успешно. Возвращение false указывает, что фактическое значение не было равно ожидаемому значению.

weakCompareAndSet

public final boolean weakCompareAndSet(V expect,
                                       V update)

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

Может случайным образом завершиться неудачей и не обеспечивает гарантии упорядочения, поэтому является лишь редкой альтернативой compareAndSet.

Параметры:
expect - ожидаемое значение
update - новое значение
Возвращает:
true если успешно

getAndSet

public final V getAndSet(V newValue)

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

Параметры:
newValue - новое значение
Возвращает:
предыдущее значение

getAndUpdate

public final V getAndUpdate(UnaryOperator<V> updateFunction)

Атомарно обновляет текущее значение результатом применения заданной функции, возвращая предыдущее значение. Функция не должна иметь побочных эффектов, так как она может быть повторно применена, когда попытки обновлений завершаются неудачей из-за конкуренции между потоками.

Параметры:
updateFunction - функция без побочных эффектов
Возвращает:
предыдущее значение
С тех пор:
1.8

updateAndGet

public final V updateAndGet(UnaryOperator<V> updateFunction)

Атомарно обновляет текущее значение результатом применения заданной функции, возвращая обновлённое значение. Функция не должна иметь побочных эффектов, так как она может быть повторно применена, когда попытки обновлений завершаются неудачей из-за конкуренции между потоками.

Параметры:
updateFunction - функция без побочных эффектов
Возвращает:
обновлённое значение
С тех пор:
1.8

getAndAccumulate

public final V getAndAccumulate(V x,
                                BinaryOperator<V> accumulatorFunction)

Атомарно обновляет текущее значение результатом применения заданной функции к текущему и заданному значениям, возвращая предыдущее значение. Функция не должна иметь побочных эффектов, так как она может быть повторно применена, когда попытки обновлений завершаются неудачей из-за конкуренции между потоками. Функция применяется к текущему значению в качестве первого аргумента и заданному обновлению в качестве второго аргумента.

Параметры:
x - значение обновления
accumulatorFunction - функция без побочных эффектов от двух аргументов
Возвращает:
предыдущее значение
С тех пор:
1.8

accumulateAndGet

public final V accumulateAndGet(V x,
                                BinaryOperator<V> accumulatorFunction)

Атомарно обновляет текущее значение результатом применения заданной функции к текущему и заданному значениям, возвращая обновлённое значение. Функция не должна иметь побочных эффектов, так как она может быть повторно применена, когда попытки обновлений завершаются неудачей из-за конкуренции между потоками. Функция применяется к текущему значению в качестве первого аргумента и заданному обновлению в качестве второго аргумента.

Параметры:
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