言語

SplittableRandom クラス

定義

サブタスクを生成する可能性がある (他のコンテキストの中で) 分離された並列計算で使用できる、均一な擬似乱数値 (ピリオド 2<up>64</sup>) のジェネレーター。

[Android.Runtime.Register("java/util/SplittableRandom", ApiSince=24, DoNotGenerateAcw=true)]
public sealed class SplittableRandom : Java.Lang.Object, IDisposable, Java.Util.RandomGenerators.IRandomGenerator
[<Android.Runtime.Register("java/util/SplittableRandom", ApiSince=24, DoNotGenerateAcw=true)>]
type SplittableRandom = class
    inherit Object
    interface IRandomGenerator
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
継承
SplittableRandom
属性
実装

注釈

サブタスクを生成する可能性がある (他のコンテキストの中で) 分離された並列計算で使用できる、均一な擬似乱数値 (ピリオド 2<up>64</sup>) のジェネレーター。 クラス SplittableRandomでは、クラス intと同様の使用法で、longdouble、およびjava.util.Random型の擬似乱数を生成するメソッドがサポートされていますが、次の点で異なります。

<ul>

<li>生成された値のシリーズは、乱数ジェネレーターの独立性と均一性のプロパティをテストする DieHarder スイートに合格します。 (バージョン 3.31.1 で最近検証されました)。これらのテストでは、特定の型と範囲のメソッドのみを検証しますが、同様のプロパティは、少なくともほぼ他の型についても保持することが期待されます。 <em>period</em> (繰り返す前に生成される一連の値の長さ) は 2<up>64</sup> です。 </li>

<li> メソッド #split 、現在のインスタンスと変更可能な状態を共有しない新しい SplittableRandom インスタンスを構築して返します。 ただし、非常に高い確率で、2 つのオブジェクトによってまとめて生成される値は、単一の SplittableRandom オブジェクトを使用して単一のスレッドによって同じ量の値が生成された場合と同じ統計的特性を持ちます。 </li>

<li> SplittableRandom の要素はスレッド セーフ<></em>。 これらは、スレッド間で共有されずに分割されるように設計されています。 たとえば、乱数を使用した java.util.concurrent.ForkJoinTask fork/join-style 計算には、フォーム new Subtask(aSplittableRandom.split()).fork()の構築が含まれる場合があります。

<li>このクラスは、 stream.parallel() モードで使用する場合に上記の手法を使用するランダム ストリームを生成するための追加のメソッドを提供します</li>

</ul>

SplittableRandomのインスタンスは、暗号化によってセキュリティで保護されていません。 代わりに、セキュリティに依存するアプリケーションで java.security.SecureRandom を使用することを検討してください。 さらに、System#getProperty システム プロパティjava.util.secureRandomSeedtrue に設定されていない限り、既定で構築されたインスタンスは暗号ランダム シードを使用しません。

1.8 で追加されました。

Javaドキュメント。

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

コンストラクター

名前 説明
SplittableRandom()

現在のプログラム内の他のインスタンスとは統計的に独立した値のシーケンスを生成する可能性がある新しい SplittableRandom インスタンスを作成します。プログラムの呼び出しによって異なる場合があり、通常は異なる場合があります。

SplittableRandom(Int64)

指定した初期シードを使用して、新しい SplittableRandom インスタンスを作成します。

プロパティ

名前 説明
Class

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

(継承元 Object)
Handle

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

(継承元 Object)
JniIdentityHashCode

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

(継承元 Object)
JniManagedPeerState

サブタスクを生成する可能性がある (他のコンテキストの中で) 分離された並列計算で使用できる、均一な擬似乱数値 (ピリオド 2<up>64</sup>) のジェネレーター。

(継承元 JavaObject)
JniPeerMembers

サブタスクを生成する可能性がある (他のコンテキストの中で) 分離された並列計算で使用できる、均一な擬似乱数値 (ピリオド 2<up>64</sup>) のジェネレーター。

PeerReference

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

(継承元 Object)
ThresholdClass

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

(継承元 Object)
ThresholdType

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

(継承元 Object)

メソッド

名前 説明
Clone()

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

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

サブタスクを生成する可能性がある (他のコンテキストの中で) 分離された並列計算で使用できる、均一な擬似乱数値 (ピリオド 2<up>64</sup>) のジェネレーター。

(継承元 JavaObject)
Dispose()

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

(継承元 Object)
Dispose(Boolean)

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

(継承元 Object)
DisposeUnlessReferenced()

サブタスクを生成する可能性がある (他のコンテキストの中で) 分離された並列計算で使用できる、均一な擬似乱数値 (ピリオド 2<up>64</sup>) のジェネレーター。

(継承元 JavaObject)
Equals(Object)

サブタスクを生成する可能性がある (他のコンテキストの中で) 分離された並列計算で使用できる、均一な擬似乱数値 (ピリオド 2<up>64</sup>) のジェネレーター。

(継承元 JavaObject)
Equals(Object)

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

(継承元 Object)
GetHashCode()

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

(継承元 Object)
JavaFinalize()
古い.

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

(継承元 Object)
NextBoolean()

擬似乱数 boolean 値を返します。

NextBytes(Byte[])

追加する

NextDouble()

0 (包括) から 1 (排他的) までの擬似乱数 double 値を返します。

NextDouble(Double, Double)

指定した原点 (包括) とバインド (排他) の間の擬似乱数 double 値を返します。

NextDouble(Double)

0 の間の擬似乱数 double 値を返します。

NextInt()

擬似乱数 int 値を返します。

NextInt(Int32, Int32)

指定した原点 (包括) と指定したバインド (排他) の間の擬似乱数 int 値を返します。

NextInt(Int32)

0 (包括) から指定されたバインド (排他) までの擬似乱数 int 値を返します。

NextLong()

擬似乱数 long 値を返します。

NextLong(Int64, Int64)

指定した原点 (包括) と指定したバインド (排他) の間の擬似乱数 long 値を返します。

NextLong(Int64)

0 (包括) から指定されたバインド (排他) までの擬似乱数 long 値を返します。

Notify()

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

(継承元 Object)
NotifyAll()

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

(継承元 Object)
SetHandle(IntPtr, JniHandleOwnership)

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

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

サブタスクを生成する可能性がある (他のコンテキストの中で) 分離された並列計算で使用できる、均一な擬似乱数値 (ピリオド 2<up>64</sup>) のジェネレーター。

(継承元 JavaObject)
Split()

変更可能な状態をこのインスタンスと共有しない新しい SplittableRandom インスタンスを構築して返します。

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()

サブタスクを生成する可能性がある (他のコンテキストの中で) 分離された並列計算で使用できる、均一な擬似乱数値 (ピリオド 2<up>64</sup>) のジェネレーター。

(継承元 JavaObject)
IJavaPeerable.Finalized()

サブタスクを生成する可能性がある (他のコンテキストの中で) 分離された並列計算で使用できる、均一な擬似乱数値 (ピリオド 2<up>64</sup>) のジェネレーター。

(継承元 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

サブタスクを生成する可能性がある (他のコンテキストの中で) 分離された並列計算で使用できる、均一な擬似乱数値 (ピリオド 2<up>64</sup>) のジェネレーター。

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

サブタスクを生成する可能性がある (他のコンテキストの中で) 分離された並列計算で使用できる、均一な擬似乱数値 (ピリオド 2<up>64</sup>) のジェネレーター。

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

サブタスクを生成する可能性がある (他のコンテキストの中で) 分離された並列計算で使用できる、均一な擬似乱数値 (ピリオド 2<up>64</sup>) のジェネレーター。

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

サブタスクを生成する可能性がある (他のコンテキストの中で) 分離された並列計算で使用できる、均一な擬似乱数値 (ピリオド 2<up>64</sup>) のジェネレーター。

(継承元 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

サブタスクを生成する可能性がある (他のコンテキストの中で) 分離された並列計算で使用できる、均一な擬似乱数値 (ピリオド 2<up>64</sup>) のジェネレーター。

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

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

JavaAs<TResult>(IJavaPeerable)

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

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

サブタスクを生成する可能性がある (他のコンテキストの中で) 分離された並列計算で使用できる、均一な擬似乱数値 (ピリオド 2<up>64</sup>) のジェネレーター。

TryJavaCast<TResult>(IJavaPeerable, TResult)

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

適用対象