言語

LongAdder クラス

定義

最初にゼロ long 合計を保持する 1 つ以上の変数。

[Android.Runtime.Register("java/util/concurrent/atomic/LongAdder", ApiSince=24, DoNotGenerateAcw=true)]
public class LongAdder : Java.Lang.Number, IDisposable
[<Android.Runtime.Register("java/util/concurrent/atomic/LongAdder", ApiSince=24, DoNotGenerateAcw=true)>]
type LongAdder = class
    inherit Number
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
継承
属性
実装

注釈

最初にゼロ long 合計を保持する 1 つ以上の変数。 更新プログラム (メソッド #add) がスレッド間で競合している場合、競合を減らすために変数のセットが動的に拡張される可能性があります。 メソッド #sum (または同様に、 #longValue) は、合計を維持する変数全体で結合された現在の合計を返します。

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

LongAdders を java.util.concurrent.ConcurrentHashMap と共に使用して、スケーラブルな頻度マップ (ヒストグラムまたはマルチセットの形式) を維持できます。 たとえば、 ConcurrentHashMap<String,LongAdder> freqsにカウントを追加し、まだ存在しない場合は初期化する場合は、次のコマンドを使用できます。 freqs.computeIfAbsent(key, k -> new LongAdder()).increment();

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

1.8 で追加されました。

Javaドキュメント。

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

コンストラクター

名前 説明
LongAdder()

最初の合計が 0 の新しい加算器を作成します。

LongAdder(IntPtr, JniHandleOwnership)

JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。

プロパティ

名前 説明
Class

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

(継承元 Object)
Handle

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

(継承元 Object)
JniIdentityHashCode

相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。

(継承元 Object)
JniManagedPeerState

最初にゼロ long 合計を保持する 1 つ以上の変数。

(継承元 JavaObject)
JniPeerMembers

このJava ピアのメンバーを呼び出すために使用される JNI メタデータを取得します。

PeerReference

このJava ピアの JNI オブジェクト参照を取得します。

(継承元 Object)
ThresholdClass

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

ThresholdType

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

メソッド

名前 説明
Add(Int64)

指定された値を追加します。

ByteValue()

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

(継承元 Number)
Clone()

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

(継承元 Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

最初にゼロ long 合計を保持する 1 つ以上の変数。

(継承元 JavaObject)
Decrement()

add(-1)に相当します。

Dispose()

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
Dispose(Boolean)

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
DisposeUnlessReferenced()

最初にゼロ long 合計を保持する 1 つ以上の変数。

(継承元 JavaObject)
DoubleValue()

拡大プリミティブ変換後の #sumdouble として返します。

Equals(Object)

最初にゼロ long 合計を保持する 1 つ以上の変数。

(継承元 JavaObject)
Equals(Object)

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

(継承元 Object)
FloatValue()

拡大プリミティブ変換後の #sumfloat として返します。

GetHashCode()

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

(継承元 Object)
Increment()

add(1)に相当します。

IntValue()

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

JavaFinalize()

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

(継承元 Object)
LongValue()

#sumに相当します。

Notify()

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

(継承元 Object)
NotifyAll()

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

(継承元 Object)
Reset()

合計を 0 に維持する変数をリセットします。

SetHandle(IntPtr, JniHandleOwnership)

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

(継承元 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

最初にゼロ long 合計を保持する 1 つ以上の変数。

(継承元 JavaObject)
ShortValue()

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

(継承元 Number)
Sum()

現在の合計を返します。

SumThenReset()

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

ToArray<T>()

このJava配列ラッパーからマネージド配列を作成します。

(継承元 Object)
ToString()

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

(継承元 Object)
UnregisterFromRuntime()

相互運用ランタイムからこのJava ピアの登録を解除します。

(継承元 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 つ以上の変数。

(継承元 JavaObject)
IJavaPeerable.Finalized()

最初にゼロ long 合計を保持する 1 つ以上の変数。

(継承元 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

最初にゼロ long 合計を保持する 1 つ以上の変数。

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

最初にゼロ long 合計を保持する 1 つ以上の変数。

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

最初にゼロ long 合計を保持する 1 つ以上の変数。

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

最初にゼロ long 合計を保持する 1 つ以上の変数。

(継承元 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

最初にゼロ long 合計を保持する 1 つ以上の変数。

拡張メソッド

名前 説明
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側で有効であることを確認します。

適用対象