LongAccumulator Класс

Определение

Одна или несколько переменных, которые вместе поддерживают запущенное long значение, обновляется с помощью предоставленной функции.

[Android.Runtime.Register("java/util/concurrent/atomic/LongAccumulator", ApiSince=24, DoNotGenerateAcw=true)]
public class LongAccumulator : Java.Lang.Number, IDisposable
[<Android.Runtime.Register("java/util/concurrent/atomic/LongAccumulator", ApiSince=24, DoNotGenerateAcw=true)>]
type LongAccumulator = class
    inherit Number
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Наследование
LongAccumulator
Атрибуты
Реализации

Комментарии

Одна или несколько переменных, которые вместе поддерживают запущенное long значение, обновляется с помощью предоставленной функции. Когда обновления (метод #accumulate) утверждаются в потоках, набор переменных может динамически увеличиваться, чтобы уменьшить драку. Метод #get (или, аналогично, #longValue) возвращает текущее значение в переменных, сохраняющих обновления.

Этот класс обычно предпочтительнее AtomicLong , если несколько потоков обновляют общее значение, используемое для таких целей, как сбор статистики, а не для точного управления синхронизацией. При низком состязании по обновлению два класса имеют аналогичные характеристики. Но при высоком состязании ожидаемая пропускная способность этого класса значительно выше, за счет более высокого потребления пространства.

Порядок накопления внутри или между потоками не гарантируется и не может зависеть от них, поэтому этот класс применим только к функциям, для которых порядок накопления не имеет значения. Предоставляемая функция аккумулятора должна быть без побочных эффектов, так как она может быть повторно применена при попытке обновления сбоем из-за раздора между потоками. Для прогнозируемых результатов функция аккумулятора должна быть ассоциативной и коммутативной. Функция применяется к существующему значению (или удостоверению) в качестве одного аргумента и заданному обновлению в качестве другого аргумента. Например, чтобы поддерживать максимальное значение, можно предоставить Long::max вместе с Long.MIN_VALUE удостоверением.

Класс LongAdder предоставляет аналоги функциональных возможностей этого класса для общего специального случая поддержания счетчиков и сумм. Вызов new LongAdder() эквивалентен new LongAccumulator((x, y) -> x + y, 0L).

Этот класс расширяетсяNumber, но не <><>определяет такие методы, как equalshashCode , и так как экземпляры должны быть мутированы, поэтому compareTo они не полезны в качестве ключей коллекции.

Добавлено в версии 1.8.

Java документации по java.util.concurrent.atomic.LongAccumulator.

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

Конструкторы

Имя Описание
LongAccumulator(ILongBinaryOperator, Int64)

Создает новый экземпляр с помощью заданной функции аккумулятора и элемента удостоверения.

LongAccumulator(IntPtr, JniHandleOwnership)

Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения.

Свойства

Имя Описание
Class

Возвращает класс среды выполнения этого Objectобъекта.

(Унаследовано от Object)
Handle

Дескриптор базового экземпляра Android.

(Унаследовано от Object)
JniIdentityHashCode

Возвращает хэш-код удостоверения, назначенный этому Java одноранговой среде выполнения взаимодействия.

(Унаследовано от Object)
JniManagedPeerState

Одна или несколько переменных, которые вместе поддерживают запущенное long значение, обновляется с помощью предоставленной функции.

(Унаследовано от JavaObject)
JniPeerMembers

Возвращает метаданные JNI, используемые для вызова элементов этого Java однорангового узла.

PeerReference

Возвращает ссылку на объект JNI для этого Java однорангового узла.

(Унаследовано от Object)
ThenReset

Эквивалентен эффекту, #getза #reset которым следует.

ThresholdClass

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

ThresholdType

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

Методы

Имя Описание
Accumulate(Int64)

Обновляется с заданным значением.

ByteValue()

Возвращает значение указанного числа в виде byte.

(Унаследовано от Number)
Clone()

Создает и возвращает копию этого объекта.

(Унаследовано от Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Одна или несколько переменных, которые вместе поддерживают запущенное long значение, обновляется с помощью предоставленной функции.

(Унаследовано от JavaObject)
Dispose()

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

(Унаследовано от Object)
Dispose(Boolean)

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

(Унаследовано от Object)
DisposeUnlessReferenced()

Одна или несколько переменных, которые вместе поддерживают запущенное long значение, обновляется с помощью предоставленной функции.

(Унаследовано от JavaObject)
DoubleValue()

Возвращает #get текущее значение в виде double после расширения примитивного преобразования.

Equals(Object)

Одна или несколько переменных, которые вместе поддерживают запущенное long значение, обновляется с помощью предоставленной функции.

(Унаследовано от JavaObject)
Equals(Object)

Указывает, равен ли другой объект этому объекту.

(Унаследовано от Object)
FloatValue()

Возвращает #get текущее значение в виде float после расширения примитивного преобразования.

Get()

Возвращает текущее значение.

GetHashCode()

Возвращает хэш-значение кода для объекта.

(Унаследовано от Object)
IntValue()

Возвращает #get текущее значение в виде int сужающего примитивного преобразования.

JavaFinalize()

Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет.

(Унаследовано от Object)
LongValue()

Эквивалентно #get.

Notify()

Просыпается один поток, ожидающий монитора этого объекта.

(Унаследовано от Object)
NotifyAll()

Просыпает все потоки, ожидающие монитора этого объекта.

(Унаследовано от Object)
Reset()

Сбрасывает переменные, поддерживающие обновления значения удостоверения.

SetHandle(IntPtr, JniHandleOwnership)

Задает свойство Handle.

(Унаследовано от Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Одна или несколько переменных, которые вместе поддерживают запущенное long значение, обновляется с помощью предоставленной функции.

(Унаследовано от JavaObject)
ShortValue()

Возвращает значение указанного числа в виде short.

(Унаследовано от Number)
ToArray<T>()

Создает управляемый массив из этого Java оболочки массива.

(Унаследовано от Object)
ToString()

Возвращает строковое представление объекта.

(Унаследовано от Object)
UnregisterFromRuntime()

Отменяет регистрацию этого Java однорангового узла из среды выполнения взаимодействия.

(Унаследовано от Object)
Wait()

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, путем <><уведомления/>em или <эм>прерванного</em.>

(Унаследовано от Object)
Wait(Int64, Int32)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)
Wait(Int64)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)

Явные реализации интерфейса

Имя Описание
IJavaPeerable.Disposed()

Одна или несколько переменных, которые вместе поддерживают запущенное long значение, обновляется с помощью предоставленной функции.

(Унаследовано от JavaObject)
IJavaPeerable.Finalized()

Одна или несколько переменных, которые вместе поддерживают запущенное long значение, обновляется с помощью предоставленной функции.

(Унаследовано от JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Одна или несколько переменных, которые вместе поддерживают запущенное long значение, обновляется с помощью предоставленной функции.

(Унаследовано от JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Одна или несколько переменных, которые вместе поддерживают запущенное long значение, обновляется с помощью предоставленной функции.

(Унаследовано от JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Одна или несколько переменных, которые вместе поддерживают запущенное long значение, обновляется с помощью предоставленной функции.

(Унаследовано от JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Одна или несколько переменных, которые вместе поддерживают запущенное long значение, обновляется с помощью предоставленной функции.

(Унаследовано от JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Одна или несколько переменных, которые вместе поддерживают запущенное long значение, обновляется с помощью предоставленной функции.

Методы расширения

Имя Описание
GetJniTypeName(IJavaPeerable)

Возвращает имя JNI типа экземпляра self.

JavaAs<TResult>(IJavaPeerable)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверяемого средой выполнения Android.

JavaCast<TResult>(IJavaObject)

Одна или несколько переменных, которые вместе поддерживают запущенное long значение, обновляется с помощью предоставленной функции.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

Применяется к