言語

DoubleAccumulator クラス

定義

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

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

注釈

指定された関数を使用して更新された実行中の double 値を一緒に保持する 1 つ以上の変数。 更新プログラム (メソッド #accumulate) がスレッド間で競合している場合、競合を減らすために変数のセットが動的に拡張される可能性があります。 メソッド #get (または同様に、 #doubleValue) は、更新を維持する変数全体で現在の値を返します。

通常、このクラスは、頻繁に更新されるが読み取り頻度が低い集計統計などの目的で使用される共通の値を複数のスレッドが更新する場合に、代替として推奨されます。

指定されたアキュムレータ関数は、スレッド間の競合が原因で更新が失敗したときに再適用される可能性があるため、副作用のない状態にする必要があります。 予測可能な結果を得るには、アキュムレータ関数は、使用コンテキストで必要な浮動小数点許容値内で可換で連想的である必要があります。 関数は、既存の値 (または ID) を 1 つの引数として適用し、特定の更新を他の引数として適用します。 たとえば、実行中の最大値を維持するために、id としてDouble::maxと共にDouble.NEGATIVE_INFINITYを指定できます。 スレッド内またはスレッド間での累積の順序は保証されません。 したがって、このクラスは、数値の安定性が必要な場合、特に実質的に異なる桁の値を組み合わせる場合には適用できない場合があります。

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

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

1.8 で追加されました。

java.util.concurrent.atomic.DoubleAccumulatorの Java ドキュメント。

このページの一部は、Androidオープンソースプロジェクトによって作成および共有された作業に基づく変更でありCreative Commons 2.5属性ライセンスに記載されている条件に従って使用されます。

コンストラクター

名前 説明
DoubleAccumulator(IDoubleBinaryOperator, Double)

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

DoubleAccumulator(IntPtr, JniHandleOwnership)

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

プロパティ

名前 説明
Class

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

(継承元 Object)
Handle

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

(継承元 Object)
JniIdentityHashCode

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

(継承元 Object)
JniManagedPeerState

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

(継承元 JavaObject)
JniPeerMembers

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

PeerReference

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

(継承元 Object)
ThenReset

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

ThresholdClass

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

ThresholdType

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

メソッド

名前 説明
Accumulate(Double)

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

ByteValue()

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

(継承元 Number)
Clone()

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

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

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

(継承元 JavaObject)
Dispose()

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

(継承元 Object)
Dispose(Boolean)

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

(継承元 Object)
DisposeUnlessReferenced()

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

(継承元 JavaObject)
DoubleValue()

#getに相当します。

Equals(Object)

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

(継承元 JavaObject)
Equals(Object)

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

(継承元 Object)
FloatValue()

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

Get()

現在の値を返します。

GetHashCode()

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

(継承元 Object)
IntValue()

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

JavaFinalize()
古い.

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

(継承元 Object)
LongValue()

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

Notify()

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

(継承元 Object)
NotifyAll()

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

(継承元 Object)
Reset()

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

SetHandle(IntPtr, JniHandleOwnership)

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

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

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

(継承元 JavaObject)
ShortValue()

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

(継承元 Number)
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()

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

(継承元 JavaObject)
IJavaPeerable.Finalized()

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

(継承元 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

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

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

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

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

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

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

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

(継承元 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

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

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

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

JavaAs<TResult>(IJavaPeerable)

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

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

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

TryJavaCast<TResult>(IJavaPeerable, TResult)

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

適用対象