Spec-Zone .ru
спецификации, руководства, описания, API
|
T
- Тип объекта, содержащего обновляемое полеpublic abstract class AtomicIntegerFieldUpdater<T> extends Object
volatile int
поля определяемых классов. Этот class разрабатывается для использования в атомарных структурах данных, в которых несколько полей того же самого узла независимо подвергаются атомарным обновлениям. Отметьте что гарантии compareAndSet
метод в этом class более слаб чем в других атомарных классах. Поскольку этот class не может гарантировать, что все использование поля является соответствующим в целях атомарного доступа, это может гарантировать атомарность только относительно других вызовов compareAndSet
и set
на том же самом updater.
Модификатор | Конструктор и Описание |
---|---|
protected |
AtomicIntegerFieldUpdater()
Защищенный пустой конструктор для использования подклассами.
|
Модификатор и Тип | Метод и Описание |
---|---|
int |
accumulateAndGet(T obj, int x, IntBinaryOperator accumulatorFunction)
Атомарно обновляет поле данного объекта, которым управляет этот updater с результатами применения заданной функции к току и данным значениям, возвращая обновленное значение.
|
int |
addAndGet(T obj, int delta)
Атомарно добавляет данное значение к текущей стоимости поля данного объекта, которым управляет этот updater.
|
abstract boolean |
compareAndSet(T obj, int expect, int update)
Атомарно устанавливает поле данного объекта, которым управляет этот updater к данному обновленному значению если текущая стоимость
== математическое ожидание. |
int |
decrementAndGet(T obj)
Атомарно декременты одним текущая стоимость поля данного объекта управляли этим updater.
|
abstract int |
get(T obj)
Содержали текущую стоимость в поле данного объекта, которым управляет этот updater.
|
int |
getAndAccumulate(T obj, int x, IntBinaryOperator accumulatorFunction)
Атомарно обновляет поле данного объекта, которым управляет этот updater с результатами применения заданной функции к току и данным значениям, возвращая предыдущее значение.
|
int |
getAndAdd(T obj, int delta)
Атомарно добавляет данное значение к текущей стоимости поля данного объекта, которым управляет этот updater.
|
int |
getAndDecrement(T obj)
Атомарно декременты одним текущая стоимость поля данного объекта управляли этим updater.
|
int |
getAndIncrement(T obj)
Атомарно инкременты одним текущая стоимость поля данного объекта управляли этим updater.
|
int |
getAndSet(T obj, int newValue)
Атомарно устанавливает поле данного объекта, которым управляет этот updater к данному значению, и возвращает старое значение.
|
int |
getAndUpdate(T obj, IntUnaryOperator updateFunction)
Атомарно обновляет поле данного объекта, которым управляет этот updater с результатами применения заданной функции, возвращая предыдущее значение.
|
int |
incrementAndGet(T obj)
Атомарно инкременты одним текущая стоимость поля данного объекта управляли этим updater.
|
abstract void |
lazySet(T obj, int newValue)
В конечном счете устанавливает поле данного объекта, которым управляет этот updater к данному обновленному значению.
|
static <U> AtomicIntegerFieldUpdater<U> |
newUpdater(Class<U> tclass, String fieldName)
Создает и возвращает updater для объектов с данным полем.
|
abstract void |
set(T obj, int newValue)
Устанавливает поле данного объекта, которым управляет этот updater к данному обновленному значению.
|
int |
updateAndGet(T obj, IntUnaryOperator updateFunction)
Атомарно обновляет поле данного объекта, которым управляет этот updater с результатами применения заданной функции, возвращая обновленное значение.
|
abstract boolean |
weakCompareAndSet(T obj, int expect, int update)
Атомарно устанавливает поле данного объекта, которым управляет этот updater к данному обновленному значению если текущая стоимость
== математическое ожидание. |
protected AtomicIntegerFieldUpdater()
public static <U> AtomicIntegerFieldUpdater<U> newUpdater(Class<U> tclass, String fieldName)
tclass
- class удерживающих позиции объектовfieldName
- имя поля, которое будет обновленоIllegalArgumentException
- если поле не является энергозависимым целочисленным типомRuntimeException
- с вложенным основанным на отражении исключением, если class не содержит поле или является неправильным типом, или поле недоступно вызывающей стороне согласно управлению доступом языка Javapublic abstract boolean compareAndSet(T obj, int expect, int update)
==
математическое ожидание. Этот метод, как гарантируют, будет атомарным относительно других звонков compareAndSet
и set
, но не обязательно относительно других изменений в поле.obj
- Объект, чье поле, чтобы условно установитьexpect
- математическое ожиданиеupdate
- новое значениеClassCastException
- если obj
не экземпляр class, обладающего полем, установленным в конструктореpublic abstract boolean weakCompareAndSet(T obj, int expect, int update)
==
математическое ожидание. Этот метод, как гарантируют, будет атомарным относительно других звонков compareAndSet
и set
, но не обязательно относительно других изменений в поле. Может перестать работать побочно и не обеспечивает гарантии упорядочивания, так только редко соответствующая альтернатива compareAndSet
.
obj
- Объект, чье поле, чтобы условно установитьexpect
- математическое ожиданиеupdate
- новое значениеClassCastException
- если obj
не экземпляр class, обладающего полем, установленным в конструктореpublic abstract void set(T obj, int newValue)
compareAndSet
.obj
- Объект, чье поле, чтобы установитьnewValue
- новое значениеpublic abstract void lazySet(T obj, int newValue)
obj
- Объект, чье поле, чтобы установитьnewValue
- новое значениеpublic abstract int get(T obj)
obj
- Объект, чье поле, чтобы добратьсяpublic int getAndSet(T obj, int newValue)
obj
- Объект, чье поле, чтобы добраться и установитьnewValue
- новое значениеpublic int getAndIncrement(T obj)
obj
- Объект, чье поле, чтобы добраться и установитьpublic int getAndDecrement(T obj)
obj
- Объект, чье поле, чтобы добраться и установитьpublic int getAndAdd(T obj, int delta)
obj
- Объект, чье поле, чтобы добраться и установитьdelta
- значение, чтобы добавитьpublic int incrementAndGet(T obj)
obj
- Объект, чье поле, чтобы добраться и установитьpublic int decrementAndGet(T obj)
obj
- Объект, чье поле, чтобы добраться и установитьpublic int addAndGet(T obj, int delta)
obj
- Объект, чье поле, чтобы добраться и установитьdelta
- значение, чтобы добавитьpublic final int getAndUpdate(T obj, IntUnaryOperator updateFunction)
obj
- Объект, чье поле, чтобы добраться и установитьupdateFunction
- функция без побочных эффектовpublic final int updateAndGet(T obj, IntUnaryOperator updateFunction)
obj
- Объект, чье поле, чтобы добраться и установитьupdateFunction
- функция без побочных эффектовpublic final int getAndAccumulate(T obj, int x, IntBinaryOperator accumulatorFunction)
obj
- Объект, чье поле, чтобы добраться и установитьx
- значение обновленияaccumulatorFunction
- функция без побочных эффектов двух параметровpublic final int accumulateAndGet(T obj, int x, IntBinaryOperator accumulatorFunction)
obj
- Объект, чье поле, чтобы добраться и установитьx
- значение обновленияaccumulatorFunction
- функция без побочных эффектов двух параметров
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92