LongAccumulator クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定された関数を使用して更新された実行中の 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
- 継承
- 属性
- 実装
注釈
指定された関数を使用して更新された実行中の 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拡張されますが、インスタンス<変更されることが想定されているため>></emequals、hashCode、compareToなどのメソッドを定義します。これはコレクション キーとしては役に立ちません。
1.8 で追加されました。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
コンストラクター
| 名前 | 説明 |
|---|---|
| LongAccumulator(ILongBinaryOperator, Int64) |
指定されたアキュムレータ関数と ID 要素を使用して新しいインスタンスを作成します。 |
| LongAccumulator(IntPtr, JniHandleOwnership) |
指定された関数を使用して更新された実行中の |
プロパティ
| 名前 | 説明 |
|---|---|
| Class |
この |
| Handle |
基になる Android インスタンスへのハンドル。 (継承元 Object) |
| JniIdentityHashCode |
指定された関数を使用して更新された実行中の |
| JniPeerMembers |
指定された関数を使用して更新された実行中の |
| PeerReference |
指定された関数を使用して更新された実行中の |
| ThenReset |
|
| ThresholdClass |
指定された関数を使用して更新された実行中の |
| ThresholdType |
指定された関数を使用して更新された実行中の |
メソッド
| 名前 | 説明 |
|---|---|
| Accumulate(Int64) |
指定された値を使用して更新します。 |
| ByteValue() |
指定した数値の値を |
| Clone() |
このオブジェクトのコピーを作成して返します。 (継承元 Object) |
| Dispose() |
指定された関数を使用して更新された実行中の |
| Dispose(Boolean) |
指定された関数を使用して更新された実行中の |
| DoubleValue() |
拡大プリミティブ変換後の |
| Equals(Object) |
他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。 (継承元 Object) |
| FloatValue() |
拡大プリミティブ変換後の |
| Get() |
現在の値を返します。 |
| GetHashCode() |
オブジェクトのハッシュ コード値を返します。 (継承元 Object) |
| IntValue() |
縮小プリミティブ変換後の #get 現在の値を |
| JavaFinalize() |
オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。 (継承元 Object) |
| LongValue() |
|
| Notify() |
このオブジェクトのモニターで待機している 1 つのスレッドを起動します。 (継承元 Object) |
| NotifyAll() |
このオブジェクトのモニターで待機しているすべてのスレッドを起動します。 (継承元 Object) |
| Reset() |
ID 値の更新を維持する変数をリセットします。 |
| SetHandle(IntPtr, JniHandleOwnership) |
Handle プロパティを設定します。 (継承元 Object) |
| ShortValue() |
指定した数値の値を |
| ToArray<T>() |
指定された関数を使用して更新された実行中の |
| ToString() |
オブジェクトの文字列形式を返します。 (継承元 Object) |
| UnregisterFromRuntime() |
指定された関数を使用して更新された実行中の |
| 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() |
指定された関数を使用して更新された実行中の |
| 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) |
|