Spec-Zone .ru
спецификации, руководства, описания, API
|
public class LongAdder extends Number implements Serializable
long
сумма. Когда обновления (метод add(long)
) спорятся через потоки, набор переменных может вырасти динамически, чтобы уменьшить конкуренцию. Метод sum()
(или, эквивалентно, longValue()
) возвращает текущее общее количество, объединенное через переменные, поддерживающие сумму. Этот class обычно предпочтителен для AtomicLong
когда многократные потоки обновляют общую сумму, которая используется в целях, таких как собирание статистических данных, не для мелкомодульного управления синхронизацией. В соответствии с низкой конкуренцией обновления, у этих двух классов есть подобные характеристики. Но в соответствии с высокой конкуренцией, ожидаемая пропускная способность этого class значительно выше, за счет более высокого потребления пространства.
LongAdders может использоваться с a ConcurrentHashMap
поддержать масштабируемую карту частоты (форма гистограммы или мультимножества). Например, чтобы добавить количество к a ConcurrentHashMap<String,LongAdder> freqs
, инициализируя, если не уже существующий, можно использовать freqs.computeIfAbsent(k -> new LongAdder()).increment();
Этот class расширяется Number
, но не определяет методы такой как equals
, hashCode
и compareTo
потому что экземпляры, как ожидают, будут видоизменены, и так не полезны как ключи набора.
Конструктор и Описание |
---|
LongAdder()
Создает новый сумматор с начальной суммой нуля.
|
Модификатор и Тип | Метод и Описание |
---|---|
void |
add(long x)
Добавляет данное значение.
|
void |
decrement()
Эквивалентный
add(-1) . |
double |
doubleValue()
Возвраты
sum() как a double после расширяющегося примитивного преобразования. |
float |
floatValue()
Возвраты
sum() как a float после расширяющегося примитивного преобразования. |
void |
increment()
Эквивалентный
add(1) . |
int |
intValue()
Возвраты
sum() как int после сужающегося примитивного преобразования. |
long |
longValue()
Эквивалентный
sum() . |
void |
reset()
Переменные сбросов, поддерживающие сумму, чтобы обнулить.
|
long |
sum()
Возвращает текущую сумму.
|
long |
sumThenReset()
|
Строка |
toString()
Возвращает Строковое представление
sum() . |
byteValue, shortValue
public void add(long x)
x
- значение, чтобы добавитьpublic void increment()
add(1)
.public void decrement()
add(-1)
.public long sum()
public void reset()
public long sumThenReset()
sum()
сопровождаемый reset()
. Этот метод может применяться например во время статических точек между многопоточными вычислениями. Если будут обновления, параллельные с этим методом, то возвращенное значение, как гарантируют, не будет заключительным значением, происходящим перед сбросом.public long longValue()
sum()
.public int intValue()
sum()
как int
после сужающегося примитивного преобразования.public float floatValue()
sum()
как a float
после расширяющегося примитивного преобразования.floatValue
в class Number
float
.public double doubleValue()
sum()
как a double
после расширяющегося примитивного преобразования.doubleValue
в class Number
double
.
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92