Класс 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 | Модификатор и тип | Метод | Описание |
|---|---|---|
byte |
byteValue() |
Возвращает значение указанного числа как byte. |
short |
shortValue() |
Возвращает значение указанного числа как short. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли другой объект этому объекту. |
protected void |
finalize() |
Устарело, планируется удаление: этот элемент API подлежит удалению в будущей версии. Финализация устарела и подлежит удалению в одном из следующих выпусков. |
final Class |
getClass() |
Возвращает класс среды выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Переводит текущий поток в состояние ожидания до его пробуждения, обычно в результате уведомления или прерывания. |
final void |
wait |
Переводит текущий поток в состояние ожидания до его пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Переводит текущий поток в состояние ожидания до его пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
Подробное описание конструкторов
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.