Класс AtomicInteger
- java.lang.Object
-
- java.lang.Number
-
- java.util.concurrent.atomic.AtomicInteger
- Все реализованные интерфейсы:
- Serializable
public class AtomicInteger extends Number implements Serializable
Значение, которое может быть обновлено атомарно. Обратитесь к спецификации пакета java.util.concurrent.atomic для описания свойств атомарных переменных. AtomicInteger используется в приложениях, таких как атомарно инкрементируемые счётчики, и не может быть использован в качестве замены для Integer. Однако, этот класс расширяет Number для обеспечения единообразного доступа инструментами и утилитами, работающими с численными классами.
- С тех пор:
- 1.5
- См. также:
- Формат сериализации
Конструкторы
| Конструктор и описание |
|---|
AtomicInteger() Создаёт новый AtomicInteger со значением по умолчанию |
AtomicInteger(int initialValue) Создаёт новый AtomicInteger с заданным начальным значением. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
int |
accumulateAndGet(int x,
IntBinaryOperator accumulatorFunction) Атомарно обновляет текущее значение результатом применения заданной функции к текущему и заданному значениям, возвращая обновлённое значение. |
int |
addAndGet(int delta) Атомарно добавляет заданное значение к текущему значению. |
boolean |
compareAndSet(int expect,
int update) Атомарно устанавливает значение на заданное обновлённое значение, если текущее значение |
int |
decrementAndGet() Атомарно декрементирует текущее значение на единицу. |
double |
doubleValue() Возвращает значение этого |
float |
floatValue() Возвращает значение этого |
int |
get() Получает текущее значение. |
int |
getAndAccumulate(int x,
IntBinaryOperator accumulatorFunction) Атомарно обновляет текущее значение результатом применения заданной функции к текущему и заданному значениям, возвращая предыдущее значение. |
int |
getAndAdd(int delta) Атомарно добавляет заданное значение к текущему значению. |
int |
getAndDecrement() Атомарно декрементирует текущее значение на единицу. |
int |
getAndIncrement() Атомарно инкрементирует текущее значение на единицу. |
int |
getAndSet(int newValue) Атомарно устанавливает заданное значение и возвращает старое значение. |
int |
getAndUpdate(IntUnaryOperator updateFunction) Атомарно обновляет текущее значение результатом применения заданной функции, возвращая предыдущее значение. |
int |
incrementAndGet() Атомарно инкрементирует текущее значение на единицу. |
int |
intValue() Возвращает значение этого |
void |
lazySet(int newValue) В конечном итоге устанавливает заданное значение. |
long |
longValue() Возвращает значение этого |
void |
set(int newValue) Устанавливает заданное значение. |
String |
toString() Возвращает строковое представление текущего значения. |
int |
updateAndGet(IntUnaryOperator updateFunction) Атомарно обновляет текущее значение результатом применения заданной функции, возвращая обновлённое значение. |
boolean |
weakCompareAndSet(int expect,
int update) Атомарно устанавливает значение на заданное обновлённое значение, если текущее значение |
Методы, унаследованные от класса java.lang.Number
byteValue, shortValue Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait Конструкторы
AtomicInteger
public AtomicInteger(int initialValue)
Создаёт новый AtomicInteger с заданным начальным значением.
- Параметры:
-
initialValue- начальное значение
AtomicInteger
public AtomicInteger()
Создаёт новый AtomicInteger с начальным значением 0.
Методы
get
public final int get()
Получает текущее значение.
- Возвращает:
- текущее значение
set
public final void set(int newValue)
Устанавливает заданное значение.
- Параметры:
-
newValue- новое значение
lazySet
public final void lazySet(int newValue)
В конечном итоге устанавливает заданное значение.
- Параметры:
-
newValue- новое значение - С:
- 1.6
getAndSet
public final int getAndSet(int newValue)
Атомарно устанавливает заданное значение и возвращает старое значение.
- Параметры:
-
newValue- новое значение - Возвращает:
- предыдущее значение
compareAndSet
public final boolean compareAndSet(int expect,
int update) Атомарно устанавливает значение на заданное обновлённое значение, если текущее значение == ожидаемое значение.
- Параметры:
-
expect- ожидаемое значение -
update- новое значение - Возвращает:
-
trueв случае успеха. Возврат значения False указывает, что фактическое значение не было равно ожидаемому значению.
weakCompareAndSet
public final boolean weakCompareAndSet(int expect,
int update) Атомарно устанавливает значение на заданное обновлённое значение, если текущее значение == ожидаемое значение.
Может ошибочно завершиться и не гарантирует упорядоченность, поэтому является лишь редкой альтернативой compareAndSet.
- Параметры:
-
expect- ожидаемое значение -
update- новое значение - Возвращает:
-
trueв случае успеха
getAndIncrement
public final int getAndIncrement()
Атомарно увеличивает текущее значение на единицу.
- Возвращает:
- предыдущее значение
getAndDecrement
public final int getAndDecrement()
Атомарно уменьшает текущее значение на единицу.
- Возвращает:
- предыдущее значение
getAndAdd
public final int getAndAdd(int delta)
Атомарно прибавляет заданное значение к текущему значению.
- Параметры:
-
delta- значение для прибавления - Возвращает:
- предыдущее значение
incrementAndGet
public final int incrementAndGet()
Атомарно увеличивает текущее значение на единицу.
- Возвращает:
- обновлённое значение
decrementAndGet
public final int decrementAndGet()
Атомарно уменьшает текущее значение на единицу.
- Возвращает:
- обновлённое значение
addAndGet
public final int addAndGet(int delta)
Атомарно прибавляет заданное значение к текущему значению.
- Параметры:
-
delta- значение для прибавления - Возвращает:
- обновлённое значение
getAndUpdate
public final int getAndUpdate(IntUnaryOperator updateFunction)
Атомарно обновляет текущее значение результатом применения заданной функции, возвращая предыдущее значение. Функция должна быть без побочных эффектов, так как она может быть повторно применена, когда попытки обновлений терпят неудачу из-за конкуренции между потоками.
- Параметры:
-
updateFunction- функция без побочных эффектов - Возвращает:
- предыдущее значение
- С:
- 1.8
updateAndGet
public final int updateAndGet(IntUnaryOperator updateFunction)
Атомарно обновляет текущее значение результатом применения заданной функции, возвращая обновлённое значение. Функция должна быть без побочных эффектов, так как она может быть повторно применена, когда попытки обновлений терпят неудачу из-за конкуренции между потоками.
- Параметры:
-
updateFunction- функция без побочных эффектов - Возвращает:
- обновлённое значение
- С:
- 1.8
getAndAccumulate
public final int getAndAccumulate(int x,
IntBinaryOperator accumulatorFunction) Атомарно обновляет текущее значение результатом применения заданной функции к текущему и заданному значениям, возвращая предыдущее значение. Функция должна быть без побочных эффектов, так как она может быть повторно применена, когда попытки обновлений терпят неудачу из-за конкуренции между потоками. Функция применяется к текущему значению в качестве первого аргумента и заданному обновлению в качестве второго аргумента.
- Параметры:
-
x- значение обновления -
accumulatorFunction- функция без побочных эффектов от двух аргументов - Возвращает:
- предыдущее значение
- С:
- 1.8
accumulateAndGet
public final int accumulateAndGet(int x,
IntBinaryOperator accumulatorFunction) Атомарно обновляет текущее значение результатом применения заданной функции к текущему и заданному значениям, возвращая обновлённое значение. Функция должна быть без побочных эффектов, так как она может быть повторно применена, когда попытки обновлений терпят неудачу из-за конкуренции между потоками. Функция применяется к текущему значению в качестве первого аргумента и заданному обновлению в качестве второго аргумента.
- Параметры:
-
x- значение обновления -
accumulatorFunction- функция без побочных эффектов от двух аргументов - Возвращает:
- обновлённое значение
- С:
- 1.8
toString
public String toString()
Возвращает строковое представление текущего значения.
intValue
public int intValue()
Возвращает значение этого AtomicInteger как целое int.
- Определено в:
-
intValueв классеNumber - Возвращает:
- числовое значение, представленное этим объектом после преобразования к типу
int.
longValue
public long longValue()
Возвращает значение этого AtomicInteger как long после расширяющего преобразования примитивов.
- Определено в:
-
longValueв классеNumber - Возвращает:
- числовое значение, представленное этим объектом после преобразования к типу
long.
floatValue
public float floatValue()
Возвращает значение этого AtomicInteger как float после расширяющего преобразования примитивов.
- Определено в:
-
floatValueв классеNumber - Возвращает:
- числовое значение, представленное этим объектом после преобразования к типу
float.
doubleValue
public double doubleValue()
Возвращает значение этого AtomicInteger как double после расширяющего преобразования примитивов.
- Определено в:
-
doubleValueв классеNumber - Возвращает:
- числовое значение, представленное этим объектом после преобразования к типу
double.
© 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.