|
Spec-Zone .ru
спецификации, руководства, описания, API
|
V - Тип объекта упоминается этой ссылкойpublic class AtomicMarkableReference<V> extends Object
AtomicMarkableReference поддерживает ссылку на объект наряду с битом метки, который может быть обновлен атомарно. Примечание реализации: Эта реализация поддерживает markable ссылки, создавая внутреннее представление объектов, "упакованное" [ссылка, булева] пары.
| Конструктор и Описание |
|---|
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)
Атомарно устанавливает значение обоих ссылка и метка к данным значениям обновления, если текущая ссылка
== к ожидаемой ссылке и текущей метке равно ожидаемой метке. |
public AtomicMarkableReference(V initialRef, boolean initialMark)
AtomicMarkableReference с данными начальными значениями.initialRef - начальная ссылкаinitialMark - начальная меткаpublic V getReference()
public boolean isMarked()
public V get(boolean[] markHolder)
boolean[1] holder; ref = v.get(holder); .markHolder - массив размера по крайней мере одного. По возврату, markholder[0] будет содержать значение метки.public boolean weakCompareAndSet(V expectedReference, V newReference, boolean expectedMark, boolean newMark)
== к ожидаемой ссылке и текущей метке равно ожидаемой метке. Может перестать работать побочно и не обеспечивает гарантии упорядочивания, так только редко соответствующая альтернатива compareAndSet.
expectedReference - математическое ожидание ссылкиnewReference - новое значение для ссылкиexpectedMark - математическое ожидание меткиnewMark - новое значение для меткиpublic boolean compareAndSet(V expectedReference, V newReference, boolean expectedMark, boolean newMark)
== к ожидаемой ссылке и текущей метке равно ожидаемой метке.expectedReference - математическое ожидание ссылкиnewReference - новое значение для ссылкиexpectedMark - математическое ожидание меткиnewMark - новое значение для меткиpublic void set(V newReference, boolean newMark)
newReference - новое значение для ссылкиnewMark - новое значение для меткиpublic boolean attemptMark(V expectedReference, boolean newMark)
== к ожидаемой ссылке. Любой данный вызов этой работы может перестать работать (возврат false) побочно, но повторенный вызов, когда текущая стоимость содержит математическое ожидание и никакой другой поток, также пытается установить значение, в конечном счете успешно выполнится.expectedReference - математическое ожидание ссылкиnewMark - новое значение для метки
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92