DoubleAccumulator クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定された関数を使用して更新された実行中の 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
- 継承
- 属性
- 実装
注釈
指定された関数を使用して更新された実行中の 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拡張されますが、インスタンス<変更されることが想定されているため><>/emequals、hashCode、compareToなどのメソッドを定義します。これはコレクション キーとしては役に立ちません。
1.8 で追加されました。
java.util.concurrent.atomic.DoubleAccumulatorの Java ドキュメント。
このページの一部は、Androidオープンソースプロジェクトによって作成および共有された作業に基づく変更でありCreative Commons 2.5属性ライセンスに記載されている条件に従って使用されます。
コンストラクター
| 名前 | 説明 |
|---|---|
| DoubleAccumulator(IDoubleBinaryOperator, Double) |
指定されたアキュムレータ関数と ID 要素を使用して新しいインスタンスを作成します。 |
| DoubleAccumulator(IntPtr, JniHandleOwnership) |
JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。 |
プロパティ
| 名前 | 説明 |
|---|---|
| Class |
この |
| Handle |
基になる Android インスタンスへのハンドル。 (継承元 Object) |
| JniIdentityHashCode |
相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。 (継承元 Object) |
| JniManagedPeerState |
指定された関数を使用して更新された実行中の |
| JniPeerMembers |
このJava ピアのメンバーを呼び出すために使用される JNI メタデータを取得します。 |
| PeerReference |
このJava ピアの JNI オブジェクト参照を取得します。 (継承元 Object) |
| ThenReset |
|
| ThresholdClass |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
| ThresholdType |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
メソッド
| 名前 | 説明 |
|---|---|
| Accumulate(Double) |
指定された値を使用して更新します。 |
| ByteValue() |
指定した数値の値を |
| Clone() |
このオブジェクトのコピーを作成して返します。 (継承元 Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
指定された関数を使用して更新された実行中の |
| Dispose() |
このJava ピアによって保持されているリソースを解放します。 (継承元 Object) |
| Dispose(Boolean) |
このJava ピアによって保持されているリソースを解放します。 (継承元 Object) |
| DisposeUnlessReferenced() |
指定された関数を使用して更新された実行中の |
| DoubleValue() |
|
| Equals(Object) |
指定された関数を使用して更新された実行中の |
| Equals(Object) |
他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。 (継承元 Object) |
| FloatValue() |
縮小プリミティブ変換後の #get 現在の値を |
| Get() |
現在の値を返します。 |
| GetHashCode() |
オブジェクトのハッシュ コード値を返します。 (継承元 Object) |
| IntValue() |
縮小プリミティブ変換後の #get 現在の値を |
| JavaFinalize() |
古い.
オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。 (継承元 Object) |
| LongValue() |
縮小プリミティブ変換後の #get 現在の値を |
| Notify() |
このオブジェクトのモニターで待機している 1 つのスレッドを起動します。 (継承元 Object) |
| NotifyAll() |
このオブジェクトのモニターで待機しているすべてのスレッドを起動します。 (継承元 Object) |
| Reset() |
ID 値の更新を維持する変数をリセットします。 |
| SetHandle(IntPtr, JniHandleOwnership) |
Handle プロパティを設定します。 (継承元 Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
指定された関数を使用して更新された実行中の |
| ShortValue() |
指定した数値の値を |
| 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() |
指定された関数を使用して更新された実行中の |
| IJavaPeerable.Finalized() |
指定された関数を使用して更新された実行中の |
| IJavaPeerable.JniObjectReferenceControlBlock |
指定された関数を使用して更新された実行中の |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
指定された関数を使用して更新された実行中の |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
指定された関数を使用して更新された実行中の |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
指定された関数を使用して更新された実行中の |
| IJavaPeerable.UnregisterFromRuntime() |
指定された関数を使用して更新された実行中の |
拡張メソッド
| 名前 | 説明 |
|---|---|
| GetJniTypeName(IJavaPeerable) |
インスタンス |
| JavaAs<TResult>(IJavaPeerable) |
|
| JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
| JavaCast<TResult>(IJavaObject) |
指定された関数を使用して更新された実行中の |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
|