語言

SplittableRandom 類別

定義

一個均勻偽隨機值的產生器(週期為 2<sup>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<sup>64</sup>),適用於(包括其他情境)隔離的平行運算,可能產生子任務。 類 SplittableRandom 支援產生類型 int為 、 longdouble 偽隨機數,且用法與類 java.util.Random 相似,但在以下方面有所不同:

<UL>

<li>生成值的數列通過了 DieHarder 套件,測試隨機數產生器的獨立性與一致性特性。 (最近一次驗證是在 3.31.1 版本。)這些測試僅驗證某些類型與範圍的方法,但類似的特性至少大致上也適用於其他方法。 <em><週期/em>(任何產生數值序列在重複前的長度)是2<sup>64</sup>。 </李>

<li> 方法 #split 構造並回傳一個新的 SplittableRandom 實例,該實例與目前實例不共享可變狀態。 然而,兩個物件所產生的值在統計上相當於同一執行緒使用單一 SplittableRandom 物件產生相同數量的值,機率極高。 </李>

<Li>SplittableRandom 的實例是 <em>not</em> thread-safe。 它們設計成可以拆分,而不是分享,跨越多個討論串。 例如, java.util.concurrent.ForkJoinTask fork/join-style 使用隨機數的計算可能包含形式 new Subtask(aSplittableRandom.split()).fork()為 的構造。

<li>本類別提供了生成隨機串流的額外方法,這些方法在模式 stream.parallel() 中使用時會採用上述技術。</李>

</ul>

SplittableRandom 實例並非加密安全。 考慮改 java.security.SecureRandom 用在安全敏感的應用中。 此外,預設建構的實例除非將 System#getProperty 系統屬性java.util.secureRandomSeed 設為 true,否則不會使用密碼學上隨機的種子。

新增於1.8版本。

java.util.SplittableRandomJava 檔。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

建構函式

名稱 Description
SplittableRandom()

建立一個新的 SplittableRandom 實例,該實例很可能產生與當前程式中其他實例統計上獨立的數值序列;而且通常會因程式呼叫而有所不同。

SplittableRandom(Int64)

使用指定的初始種子建立一個新的 SplittableRandom 實例。

屬性

名稱 Description
Class

傳回這個 Object的運行時間類別。

(繼承來源 Object)
Handle

基礎Android實例的句柄。

(繼承來源 Object)
JniIdentityHashCode

取得由互通執行時指派給此 Java 對等端的身份雜湊碼。

(繼承來源 Object)
JniManagedPeerState

一個均勻偽隨機值的產生器(週期為 2<sup>64</sup>),適用於(包括其他情境)隔離的平行運算,可能產生子任務。

(繼承來源 JavaObject)
JniPeerMembers

一個均勻偽隨機值的產生器(週期為 2<sup>64</sup>),適用於(包括其他情境)隔離的平行運算,可能產生子任務。

PeerReference

取得這個 Java 節點的 JNI 物件參考。

(繼承來源 Object)
ThresholdClass

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

(繼承來源 Object)
ThresholdType

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

(繼承來源 Object)

方法

名稱 Description
Clone()

建立並傳回這個 對象的複本。

(繼承來源 Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

一個均勻偽隨機值的產生器(週期為 2<sup>64</sup>),適用於(包括其他情境)隔離的平行運算,可能產生子任務。

(繼承來源 JavaObject)
Dispose()

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
Dispose(Boolean)

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
DisposeUnlessReferenced()

一個均勻偽隨機值的產生器(週期為 2<sup>64</sup>),適用於(包括其他情境)隔離的平行運算,可能產生子任務。

(繼承來源 JavaObject)
Equals(Object)

一個均勻偽隨機值的產生器(週期為 2<sup>64</sup>),適用於(包括其他情境)隔離的平行運算,可能產生子任務。

(繼承來源 JavaObject)
Equals(Object)

指出其他物件是否「等於」這個物件。

(繼承來源 Object)
GetHashCode()

傳回此物件的雜湊碼值。

(繼承來源 Object)
JavaFinalize()
已淘汰.

當垃圾收集決定不再參考物件時,垃圾收集行程在 物件上呼叫。

(繼承來源 Object)
NextBoolean()

回傳一個偽隨機 boolean 值。

NextBytes(Byte[])

待補充

NextDouble()

回傳一個介於零(含)與一(排他)之間的偽隨機 double 值。

NextDouble(Double, Double)

回傳一個介於指定原點(包含)與界限(排他)之間的偽隨機 double 值。

NextDouble(Double)

回傳一個介於0之間的偽隨機 double 值。

NextInt()

回傳一個偽隨機 int 值。

NextInt(Int32, Int32)

回傳一個位於指定原點(包含)與指定界限(獨佔)之間的偽隨機 int 值。

NextInt(Int32)

回傳一個介於零(含)與指定界限(排他)之間的偽隨機 int 值。

NextLong()

回傳一個偽隨機 long 值。

NextLong(Int64, Int64)

回傳一個位於指定原點(包含)與指定界限(獨佔)之間的偽隨機 long 值。

NextLong(Int64)

回傳一個介於零(含)與指定界限(排他)之間的偽隨機 long 值。

Notify()

喚醒正在等候此物件監視器的單一線程。

(繼承來源 Object)
NotifyAll()

喚醒正在等候此物件監視器的所有線程。

(繼承來源 Object)
SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

一個均勻偽隨機值的產生器(週期為 2<sup>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)

明確介面實作

名稱 Description
IJavaPeerable.Disposed()

一個均勻偽隨機值的產生器(週期為 2<sup>64</sup>),適用於(包括其他情境)隔離的平行運算,可能產生子任務。

(繼承來源 JavaObject)
IJavaPeerable.Finalized()

一個均勻偽隨機值的產生器(週期為 2<sup>64</sup>),適用於(包括其他情境)隔離的平行運算,可能產生子任務。

(繼承來源 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

一個均勻偽隨機值的產生器(週期為 2<sup>64</sup>),適用於(包括其他情境)隔離的平行運算,可能產生子任務。

(繼承來源 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

一個均勻偽隨機值的產生器(週期為 2<sup>64</sup>),適用於(包括其他情境)隔離的平行運算,可能產生子任務。

(繼承來源 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

一個均勻偽隨機值的產生器(週期為 2<sup>64</sup>),適用於(包括其他情境)隔離的平行運算,可能產生子任務。

(繼承來源 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

一個均勻偽隨機值的產生器(週期為 2<sup>64</sup>),適用於(包括其他情境)隔離的平行運算,可能產生子任務。

(繼承來源 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

一個均勻偽隨機值的產生器(週期為 2<sup>64</sup>),適用於(包括其他情境)隔離的平行運算,可能產生子任務。

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

JavaCast<TResult>(IJavaObject)

執行 Android 執行時檢查型別轉換。

JavaCast<TResult>(IJavaObject)

一個均勻偽隨機值的產生器(週期為 2<sup>64</sup>),適用於(包括其他情境)隔離的平行運算,可能產生子任務。

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於