Класс 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, 2021, 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/17/docs/api/java.base/java/util/concurrent/atomic/DoubleAdder.html