Класс DoubleAdder
- Все реализованные интерфейсы:
Serializable
public class DoubleAdder extends Number implements Serializable
double. При конкурентном обновлении (метод add(double)) между потоками набор переменных может динамически увеличиваться, чтобы уменьшить конфликт. Метод sum() (или, что эквивалентно, doubleValue()) возвращает текущую общую сумму, скомбинированную по переменным, поддерживающим сумму. Порядок накопления внутри или между потоками не гарантируется. Таким образом, этот класс может быть неприменим, если требуется числовая стабильность, особенно при объединении значений с существенно разными порядками величины. Этот класс обычно предпочтительнее альтернатив, когда несколько потоков обновляют общее значение, используемое для таких целей, как сводная статистика, которая часто обновляется, но реже считывается.
Этот класс расширяет Number, но не определяет методы, такие как equals, hashCode и
compareTo, поскольку экземпляры, по предположению, будут изменяться и поэтому не подходят в качестве ключей коллекции.
- С:
- 1.8
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
DoubleAdder() |
Создает новый сумматор с начальной суммой ноль. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
add |
Добавляет заданное значение. |
double |
doubleValue() |
Эквивалентно sum(). |
float |
floatValue() |
Возвращает sum() в виде float, после сужения примитивного преобразования. |
int |
intValue() |
Возвращает sum() в виде int, после сужения примитивного преобразования. |
long |
longValue() |
Возвращает sum() в виде long, после сужения примитивного преобразования. |
void |
reset() |
Сбрасывает переменные, поддерживающие сумму, в ноль. |
double |
sum() |
Возвращает текущую сумму. |
double |
sumThenReset() |
|
String |
toString() |
Возвращает строковое представление sum(). |
Методы, объявленные в классе java.lang.Number
byteValue, shortValue
Подробное описание конструкторов
DoubleAdder
public DoubleAdder()
Подробное описание методов
add
public void add(double x)
- Параметры:
-
x- значение для добавления
sum
public double sum()
- Возвращает:
- сумма
reset
public void reset()
sumThenReset
public double sumThenReset()
sum(), за которым следует reset(). Этот метод может применяться, например, во время неактивных моментов между многопоточными вычислениями. Если обновления происходят одновременно с этим методом, возвращаемое значение не гарантируется как окончательное значение, которое было до сброса.- Возвращает:
- сумма
toString
public String toString()
sum().- Переопределяет:
-
toStringв классеObject - Возвращает:
- строковое представление
sum()
doubleValue
public double doubleValue()
sum().- Указано в:
-
doubleValueв классеNumber - Возвращает:
- сумма
longValue
public long longValue()
sum() в виде long после сужения примитивного преобразования.- Указано в:
-
longValueв классеNumber - Возвращает:
- числовое значение, представленное этим объектом после преобразования к типу
long.
intValue
public int intValue()
sum() в виде int после сужения примитивного преобразования.- Указано в:
-
intValueв классеNumber - Возвращает:
- числовое значение, представленное этим объектом после преобразования к типу
int.
floatValue
public float floatValue()
sum() в виде float после сужения примитивного преобразования.- Указано в:
-
floatValueв классеNumber - Возвращает:
- числовое значение, представленное этим объектом после преобразования к типу
float.
© 1993, 2023, 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.
https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/concurrent/atomic/DoubleAdder.html