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