LongAccumulator クラス

定義

指定された関数を使用して更新された実行中の long 値を一緒に保持する 1 つ以上の変数。

[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 値を一緒に保持する 1 つ以上の変数。 更新プログラム (メソッド #accumulate) がスレッド間で競合している場合、競合を減らすために変数のセットが動的に拡張される可能性があります。 メソッド #get (または同様に、 #longValue) は、更新を維持する変数全体で現在の値を返します。

通常、このクラスは、複数のスレッドが、詳細な同期制御ではなく、統計の収集などの目的で使用される共通の値を更新する場合に AtomicLong することをお勧めします。 更新の競合が少ない場合、2 つのクラスの特性は似ています。 ただし、競合が大きい場合、このクラスの予想スループットは大幅に高くなりますが、スペース消費が大きくなります。

スレッド内またはスレッド間での累積の順序は保証されず、依存できないため、このクラスは累積の順序が重要でない関数にのみ適用されます。 指定されたアキュムレータ関数は、スレッド間の競合が原因で更新が失敗したときに再適用される可能性があるため、副作用のない状態にする必要があります。 予測可能な結果を得るには、アキュムレータ関数を連想関数と可換関数にする必要があります。 関数は、既存の値 (または ID) を 1 つの引数として適用し、特定の更新を他の引数として適用します。 たとえば、実行中の最大値を維持するために、id としてLong.MIN_VALUEと共にLong::maxを指定できます。

クラス LongAdder は、カウントと合計を維持する一般的な特殊なケースに対して、このクラスの機能の類似点を提供します。 呼び出し new LongAdder() は、 new LongAccumulator((x, y) -> x + y, 0L)と同じです。

このクラスはNumber拡張されますが、インスタンス<変更されることが想定されているため>></emequalshashCodecompareToなどのメソッドを定義します。これはコレクション キーとしては役に立ちません。

1.8 で追加されました。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

コンストラクター

名前 説明
LongAccumulator(ILongBinaryOperator, Int64)

指定されたアキュムレータ関数と ID 要素を使用して新しいインスタンスを作成します。

LongAccumulator(IntPtr, JniHandleOwnership)

指定された関数を使用して更新された実行中の long 値を一緒に保持する 1 つ以上の変数。

プロパティ

名前 説明
Class

この Objectのランタイム クラスを返します。

(継承元 Object)
Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
JniIdentityHashCode

指定された関数を使用して更新された実行中の long 値を一緒に保持する 1 つ以上の変数。

(継承元 Object)
JniPeerMembers

指定された関数を使用して更新された実行中の long 値を一緒に保持する 1 つ以上の変数。

PeerReference

指定された関数を使用して更新された実行中の long 値を一緒に保持する 1 つ以上の変数。

(継承元 Object)
ThenReset

#getの後に#resetが続くのと同等です。

ThresholdClass

指定された関数を使用して更新された実行中の long 値を一緒に保持する 1 つ以上の変数。

ThresholdType

指定された関数を使用して更新された実行中の long 値を一緒に保持する 1 つ以上の変数。

メソッド

名前 説明
Accumulate(Int64)

指定された値を使用して更新します。

ByteValue()

指定した数値の値を byteとして返します。

(継承元 Number)
Clone()

このオブジェクトのコピーを作成して返します。

(継承元 Object)
Dispose()

指定された関数を使用して更新された実行中の long 値を一緒に保持する 1 つ以上の変数。

(継承元 Object)
Dispose(Boolean)

指定された関数を使用して更新された実行中の long 値を一緒に保持する 1 つ以上の変数。

(継承元 Object)
DoubleValue()

拡大プリミティブ変換後の double として、#get 現在の値を返します。

Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
FloatValue()

拡大プリミティブ変換後の float として、#get 現在の値を返します。

Get()

現在の値を返します。

GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
IntValue()

縮小プリミティブ変換後の #get 現在の値を int として返します。

JavaFinalize()

オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
LongValue()

#getに相当します。

Notify()

このオブジェクトのモニターで待機している 1 つのスレッドを起動します。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドを起動します。

(継承元 Object)
Reset()

ID 値の更新を維持する変数をリセットします。

SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
ShortValue()

指定した数値の値を shortとして返します。

(継承元 Number)
ToArray<T>()

指定された関数を使用して更新された実行中の long 値を一緒に保持する 1 つ以上の変数。

(継承元 Object)
ToString()

オブジェクトの文字列形式を返します。

(継承元 Object)
UnregisterFromRuntime()

指定された関数を使用して更新された実行中の long 値を一緒に保持する 1 つ以上の変数。

(継承元 Object)
Wait()

現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)
Wait(Int64)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)

明示的なインターフェイスの実装

名前 説明
IJavaPeerable.Disposed()

指定された関数を使用して更新された実行中の long 値を一緒に保持する 1 つ以上の変数。

(継承元 Object)
IJavaPeerable.DisposeUnlessReferenced()

指定された関数を使用して更新された実行中の long 値を一緒に保持する 1 つ以上の変数。

(継承元 Object)
IJavaPeerable.Finalized()

指定された関数を使用して更新された実行中の long 値を一緒に保持する 1 つ以上の変数。

(継承元 Object)
IJavaPeerable.JniManagedPeerState

指定された関数を使用して更新された実行中の long 値を一緒に保持する 1 つ以上の変数。

(継承元 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

指定された関数を使用して更新された実行中の long 値を一緒に保持する 1 つ以上の変数。

(継承元 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

指定された関数を使用して更新された実行中の long 値を一緒に保持する 1 つ以上の変数。

(継承元 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

指定された関数を使用して更新された実行中の long 値を一緒に保持する 1 つ以上の変数。

(継承元 Object)

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

インスタンス selfの型の JNI 名を取得します。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

指定された関数を使用して更新された実行中の long 値を一緒に保持する 1 つ以上の変数。

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

適用対象