|
Spec-Zone .ru
спецификации, руководства, описания, API
|
V - Тип объекта упоминается этой ссылкойpublic class AtomicStampedReference<V> extends Object
AtomicStampedReference поддерживает ссылку на объект наряду с целочисленным "штампом", который может быть обновлен атомарно. Примечание реализации: Эта реализация поддерживает штампованные ссылки, создавая внутреннее представление объектов, "упакованное" [ссылка, целое число] пары.
| Конструктор и Описание |
|---|
AtomicStampedReference(V initialRef, int initialStamp)
Создает новое
AtomicStampedReference с данными начальными значениями. |
| Модификатор и Тип | Метод и Описание |
|---|---|
boolean |
attemptStamp(V expectedReference, int newStamp)
Атомарно устанавливает значение штампа к данному значению обновления, если текущая ссылка
== к ожидаемой ссылке. |
boolean |
compareAndSet(V expectedReference, V newReference, int expectedStamp, int newStamp)
Атомарно устанавливает значение обоих ссылка и штамп к данным значениям обновления, если текущая ссылка
== к ожидаемой ссылке и текущему штампу равно ожидаемому штампу. |
V |
get(int[] stampHolder)
Возвращает текущую стоимость и ссылки и штампа.
|
V |
getReference()
Возвращает текущую стоимость ссылки.
|
int |
getStamp()
Возвращает текущую стоимость штампа.
|
void |
set(V newReference, int newStamp)
Безоговорочно устанавливает значение обоих ссылка и штамп.
|
boolean |
weakCompareAndSet(V expectedReference, V newReference, int expectedStamp, int newStamp)
Атомарно устанавливает значение обоих ссылка и штамп к данным значениям обновления, если текущая ссылка
== к ожидаемой ссылке и текущему штампу равно ожидаемому штампу. |
public AtomicStampedReference(V initialRef, int initialStamp)
AtomicStampedReference с данными начальными значениями.initialRef - начальная ссылкаinitialStamp - начальный штампpublic V getReference()
public int getStamp()
public V get(int[] stampHolder)
int[1] holder; ref = v.get(holder); .stampHolder - массив размера по крайней мере одного. По возврату, stampholder[0] будет содержать значение штампа.public boolean weakCompareAndSet(V expectedReference, V newReference, int expectedStamp, int newStamp)
== к ожидаемой ссылке и текущему штампу равно ожидаемому штампу. Может перестать работать побочно и не обеспечивает гарантии упорядочивания, так только редко соответствующая альтернатива compareAndSet.
expectedReference - математическое ожидание ссылкиnewReference - новое значение для ссылкиexpectedStamp - математическое ожидание штампаnewStamp - новое значение для штампаpublic boolean compareAndSet(V expectedReference, V newReference, int expectedStamp, int newStamp)
== к ожидаемой ссылке и текущему штампу равно ожидаемому штампу.expectedReference - математическое ожидание ссылкиnewReference - новое значение для ссылкиexpectedStamp - математическое ожидание штампаnewStamp - новое значение для штампаpublic void set(V newReference, int newStamp)
newReference - новое значение для ссылкиnewStamp - новое значение для штампаpublic boolean attemptStamp(V expectedReference, int newStamp)
== к ожидаемой ссылке. Любой данный вызов этой работы может перестать работать (возврат false) побочно, но повторенный вызов, когда текущая стоимость содержит математическое ожидание и никакой другой поток, также пытается установить значение, в конечном счете успешно выполнится.expectedReference - математическое ожидание ссылкиnewStamp - новое значение для штампа
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92