Spec-Zone.ru › OpenJDK 24

Класс AtomicMarkableReference<V>

java.lang.Object
java.util.concurrent.atomic.AtomicMarkableReference<V>
Параметры типа:
V - Тип объекта, на который ссылается эта ссылка
public class AtomicMarkableReference<V> extends Object
Объект класса AtomicMarkableReference хранит ссылку на объект вместе с битом метки, которые могут быть изменены атомарно.

Примечание реализации: Эта реализация поддерживает метки ссылок, создавая внутренние объекты, представляющие "упакованные" [ссылка, boolean] пары.

С:
1.5

Краткое описание конструкторов

Конструктор Описание
AtomicMarkableReference(V initialRef, boolean initialMark)
Создаёт новый AtomicMarkableReference с заданными начальными значениями.

Краткое описание методов

Модификатор и тип Метод Описание
boolean attemptMark(V expectedReference, boolean newMark)
Атомарно устанавливает значение метки на заданное значение обновления, если текущая ссылка равна ожидаемой ссылке.
boolean compareAndSet(V expectedReference, V newReference, boolean expectedMark, boolean newMark)
Атомарно устанавливает значение ссылки и метки на заданные значения обновления, если текущая ссылка равна ожидаемой ссылке и текущая метка равна ожидаемой метке.
V get(boolean[] markHolder)
Возвращает текущие значения ссылки и метки.
V getReference()
Возвращает текущее значение ссылки.
boolean isMarked()
Возвращает текущее значение метки.
void set(V newReference, boolean newMark)
Безусловно устанавливает значение ссылки и метки.
boolean weakCompareAndSet(V expectedReference, V newReference, boolean expectedMark, boolean newMark)
Атомарно устанавливает значение ссылки и метки на заданные значения обновления, если текущая ссылка равна ожидаемой ссылке и текущая метка равна ожидаемой метке.

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

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

Подробное описание конструкторов

AtomicMarkableReference

public AtomicMarkableReference(V initialRef, boolean initialMark)
Создаёт новый AtomicMarkableReference с заданными начальными значениями.
Параметры:
initialRef - начальная ссылка
initialMark - начальная метка

Подробное описание методов

getReference

public V getReference()
Возвращает текущее значение ссылки.
Возвращает:
текущее значение ссылки

isMarked

public boolean isMarked()
Возвращает текущее значение метки.
Возвращает:
текущее значение метки

get

public V get(boolean[] markHolder)
Возвращает текущие значения ссылки и метки. Типичное использование: boolean[1] holder; ref = v.get(holder); .
Параметры:
markHolder - массив размером как минимум один. По возвращении, markHolder[0] будет содержать значение метки.
Возвращает:
текущее значение ссылки

weakCompareAndSet

public boolean weakCompareAndSet(V expectedReference, V newReference, boolean expectedMark, boolean newMark)
Атомарно устанавливает значение ссылки и метки на заданные значения обновления, если текущая ссылка равна ожидаемой ссылке и текущая метка равна ожидаемой метке. Эта операция может ошибочно завершиться и не предоставляет гарантий упорядочения, поэтому это редко подходящая альтернатива compareAndSet.
Параметры:
expectedReference - ожидаемое значение ссылки
newReference - новое значение для ссылки
expectedMark - ожидаемое значение метки
newMark - новое значение для метки
Возвращает:
true при успехе

compareAndSet

public boolean compareAndSet(V expectedReference, V newReference, boolean expectedMark, boolean newMark)
Атомарно устанавливает значение ссылки и метки на заданные значения обновления, если текущая ссылка равна ожидаемой ссылке и текущая метка равна ожидаемой метке.
Параметры:
expectedReference - ожидаемое значение ссылки
newReference - новое значение для ссылки
expectedMark - ожидаемое значение метки
newMark - новое значение для метки
Возвращает:
true при успехе

set

public void set(V newReference, boolean newMark)
Безусловно устанавливает значение ссылки и метки.
Параметры:
newReference - новое значение для ссылки
newMark - новое значение для метки

attemptMark

public boolean attemptMark(V expectedReference, boolean newMark)
Атомарно устанавливает значение метки на заданное значение обновления, если текущая ссылка равна ожидаемой ссылке. Любое данное обращение к этой операции может завершиться ошибкой (возвратить false) случайным образом, но повторные обращения, когда текущее значение соответствует ожидаемому значению и никакой другой поток также не пытается установить значение, в конечном итоге приведут к успеху.
Параметры:
expectedReference - ожидаемое значение ссылки
newMark - новое значение для метки
Возвращает:
true при успехе

© 1993, 2025, 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/util/concurrent/atomic/AtomicMarkableReference.html

Spec-Zone.ru

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