Класс 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(). |
Методы, объявленные в классе 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
doubleValue
public double doubleValue()
sum().- Определено в:
-
doubleValueв классеNumber - Возвращает:
- сумму
longValue
intValue
floatValue
public float floatValue()
sum() как float после сужающего преобразования примитивного типа.- Определено в:
-
floatValueв классеNumber - Возвращает:
- числовое значение, представленное этим объектом после преобразования к типу
float.
© 1993, 2025, 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/25/docs/api/java.base/java/util/concurrent/atomic/DoubleAdder.html