LongAccumulator 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
一个或多个变量,这些变量一起维护使用提供的函数更新的运行 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
- 继承
- 属性
- 实现
注解
一个或多个变量,这些变量一起维护使用提供的函数更新的运行 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) |
一个或多个变量,这些变量一起维护使用提供的函数更新的运行 |
属性
| 名称 | 说明 |
|---|---|
| Class |
返回此 |
| Handle |
基础 Android 实例的句柄。 (继承自 Object) |
| JniIdentityHashCode |
一个或多个变量,这些变量一起维护使用提供的函数更新的运行 |
| JniPeerMembers |
一个或多个变量,这些变量一起维护使用提供的函数更新的运行 |
| PeerReference |
一个或多个变量,这些变量一起维护使用提供的函数更新的运行 |
| ThenReset |
等效于 |
| ThresholdClass |
一个或多个变量,这些变量一起维护使用提供的函数更新的运行 |
| ThresholdType |
一个或多个变量,这些变量一起维护使用提供的函数更新的运行 |
方法
| 名称 | 说明 |
|---|---|
| Accumulate(Int64) |
使用给定值进行更新。 |
| ByteValue() |
返回指定数字的值作为一个 |
| Clone() |
创建并返回此对象的副本。 (继承自 Object) |
| Dispose() |
一个或多个变量,这些变量一起维护使用提供的函数更新的运行 |
| Dispose(Boolean) |
一个或多个变量,这些变量一起维护使用提供的函数更新的运行 |
| DoubleValue() |
返回在扩大基元转换后 #get 当前值 |
| Equals(Object) |
指示其他对象是否“等于”此对象。 (继承自 Object) |
| FloatValue() |
返回在扩大基元转换后 #get 当前值 |
| Get() |
返回当前值。 |
| GetHashCode() |
返回对象的哈希代码值。 (继承自 Object) |
| IntValue() |
以缩小基元转换后的形式 |
| JavaFinalize() |
当垃圾回收确定不再引用该对象时,由对象上的垃圾回收器调用。 (继承自 Object) |
| LongValue() |
等效于 |
| Notify() |
唤醒正在等待此对象的监视器的单个线程。 (继承自 Object) |
| NotifyAll() |
唤醒正在等待此对象的监视器的所有线程。 (继承自 Object) |
| Reset() |
重置维护对标识值的更新的变量。 |
| SetHandle(IntPtr, JniHandleOwnership) |
设置 Handle 属性。 (继承自 Object) |
| ShortValue() |
返回指定数字的值作为一个 |
| ToArray<T>() |
一个或多个变量,这些变量一起维护使用提供的函数更新的运行 |
| ToString() |
返回对象的字符串表示形式。 (继承自 Object) |
| UnregisterFromRuntime() |
一个或多个变量,这些变量一起维护使用提供的函数更新的运行 |
| 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() |
一个或多个变量,这些变量一起维护使用提供的函数更新的运行 |
| IJavaPeerable.DisposeUnlessReferenced() |
一个或多个变量,这些变量一起维护使用提供的函数更新的运行 |
| IJavaPeerable.Finalized() |
一个或多个变量,这些变量一起维护使用提供的函数更新的运行 |
| IJavaPeerable.JniManagedPeerState |
一个或多个变量,这些变量一起维护使用提供的函数更新的运行 |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
一个或多个变量,这些变量一起维护使用提供的函数更新的运行 |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
一个或多个变量,这些变量一起维护使用提供的函数更新的运行 |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
一个或多个变量,这些变量一起维护使用提供的函数更新的运行 |
扩展方法
| 名称 | 说明 |
|---|---|
| GetJniTypeName(IJavaPeerable) |
获取实例 |
| JavaAs<TResult>(IJavaPeerable) |
尝试强制 |
| JavaCast<TResult>(IJavaObject) |
执行 Android 运行时检查的类型转换。 |
| JavaCast<TResult>(IJavaObject) |
一个或多个变量,这些变量一起维护使用提供的函数更新的运行 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
尝试强制 |