LongAccumulator 类

定义

一个或多个变量,这些变量一起维护使用提供的函数更新的运行 long 值。

[Android.Runtime.Register("java/util/concurrent/atomic/LongAccumulator", ApiSince=24, DoNotGenerateAcw=true)]
public class LongAccumulator : Java.Lang.Number, IDisposable, Java.Interop.IJavaPeerable
[<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.MIN_VALUE提供Long::max

LongAdder 为维护计数和总和的常见特殊情况提供此类功能的模拟。 调用 new LongAdder() 等效于 new LongAccumulator((x, y) -> x + y, 0L).

此类扩展Number,但><不包括</em> 定义方法,equals并且由于实例应被可变, hashCodecompareTo因此不能用作收集键。

已在 1.8 中添加。

适用于 . 的 java.util.concurrent.atomic.LongAccumulatorJava 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

构造函数

名称 说明
LongAccumulator(ILongBinaryOperator, Int64)

使用给定的累加器函数和标识元素创建一个新实例。

LongAccumulator(IntPtr, JniHandleOwnership)

一个或多个变量,这些变量一起维护使用提供的函数更新的运行 long 值。

属性

名称 说明
Class

返回此 Object的运行时类。

(继承自 Object)
Handle

基础 Android 实例的句柄。

(继承自 Object)
JniIdentityHashCode

一个或多个变量,这些变量一起维护使用提供的函数更新的运行 long 值。

(继承自 Object)
JniPeerMembers

一个或多个变量,这些变量一起维护使用提供的函数更新的运行 long 值。

PeerReference

一个或多个变量,这些变量一起维护使用提供的函数更新的运行 long 值。

(继承自 Object)
ThenReset

等效于 #get 后跟 #reset

ThresholdClass

一个或多个变量,这些变量一起维护使用提供的函数更新的运行 long 值。

ThresholdType

一个或多个变量,这些变量一起维护使用提供的函数更新的运行 long 值。

方法

名称 说明
Accumulate(Int64)

使用给定值进行更新。

ByteValue()

返回指定数字的值作为一个 byte

(继承自 Number)
Clone()

创建并返回此对象的副本。

(继承自 Object)
Dispose()

一个或多个变量,这些变量一起维护使用提供的函数更新的运行 long 值。

(继承自 Object)
Dispose(Boolean)

一个或多个变量,这些变量一起维护使用提供的函数更新的运行 long 值。

(继承自 Object)
DoubleValue()

返回在扩大基元转换后 #get 当前值 double

Equals(Object)

指示其他对象是否“等于”此对象。

(继承自 Object)
FloatValue()

返回在扩大基元转换后 #get 当前值 float

Get()

返回当前值。

GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
IntValue()

以缩小基元转换后的形式 int 返回 #get 当前值。

JavaFinalize()

当垃圾回收确定不再引用该对象时,由对象上的垃圾回收器调用。

(继承自 Object)
LongValue()

等效于 #get

Notify()

唤醒正在等待此对象的监视器的单个线程。

(继承自 Object)
NotifyAll()

唤醒正在等待此对象的监视器的所有线程。

(继承自 Object)
Reset()

重置维护对标识值的更新的变量。

SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
ShortValue()

返回指定数字的值作为一个 short

(继承自 Number)
ToArray<T>()

一个或多个变量,这些变量一起维护使用提供的函数更新的运行 long 值。

(继承自 Object)
ToString()

返回对象的字符串表示形式。

(继承自 Object)
UnregisterFromRuntime()

一个或多个变量,这些变量一起维护使用提供的函数更新的运行 long 值。

(继承自 Object)
Wait()

使当前线程等待,直到唤醒它,通常是通过 em 通知/em< 或 >em<interrupted>/em<。><>

(继承自 Object)
Wait(Int64, Int32)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。

(继承自 Object)
Wait(Int64)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。

(继承自 Object)

显式接口实现

名称 说明
IJavaPeerable.Disposed()

一个或多个变量,这些变量一起维护使用提供的函数更新的运行 long 值。

(继承自 Object)
IJavaPeerable.DisposeUnlessReferenced()

一个或多个变量,这些变量一起维护使用提供的函数更新的运行 long 值。

(继承自 Object)
IJavaPeerable.Finalized()

一个或多个变量,这些变量一起维护使用提供的函数更新的运行 long 值。

(继承自 Object)
IJavaPeerable.JniManagedPeerState

一个或多个变量,这些变量一起维护使用提供的函数更新的运行 long 值。

(继承自 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

一个或多个变量,这些变量一起维护使用提供的函数更新的运行 long 值。

(继承自 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

一个或多个变量,这些变量一起维护使用提供的函数更新的运行 long 值。

(继承自 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

一个或多个变量,这些变量一起维护使用提供的函数更新的运行 long 值。

(继承自 Object)

扩展方法

名称 说明
GetJniTypeName(IJavaPeerable)

获取实例 self类型的 JNI 名称。

JavaAs<TResult>(IJavaPeerable)

尝试强制self键入TResult,检查强制是否在Java端有效。

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

一个或多个变量,这些变量一起维护使用提供的函数更新的运行 long 值。

TryJavaCast<TResult>(IJavaPeerable, TResult)

尝试强制self键入TResult,检查强制是否在Java端有效。

适用于