SplittableRandom Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ein Generator einheitlicher Pseudorandomwerte, die für die Verwendung in (neben anderen Kontexten) isolierten parallelen Berechnungen geeignet sind, die Teilvorgänge generieren können.
[Android.Runtime.Register("java/util/SplittableRandom", ApiSince=24, DoNotGenerateAcw=true)]
public sealed class SplittableRandom : Java.Lang.Object
[<Android.Runtime.Register("java/util/SplittableRandom", ApiSince=24, DoNotGenerateAcw=true)>]
type SplittableRandom = class
inherit Object
- Vererbung
- Attribute
Hinweise
Ein Generator einheitlicher Pseudorandomwerte, die für die Verwendung in (neben anderen Kontexten) isolierten parallelen Berechnungen geeignet sind, die Teilvorgänge generieren können. Die -Klasse SplittableRandom
unterstützt Methoden zum Erzeugen von Pseudorandzahlen vom Typ int
, long
und double
mit ähnlichen Verwendungen wie für die -Klasse java.util.Random
, unterscheidet sich jedoch auf folgende Weise:
<ul>
<li>Eine Reihe von generierten Werten besteht die DieHarder-Suite, um unabhängigkeits- und uniformitätseigenschaften von Zufallszahlengeneratoren zu testen. (Zuletzt mit Version 3.31.1 überprüft.) Diese Tests überprüfen nur die Methoden für bestimmte Typen und Bereiche, aber es wird erwartet, dass ähnliche Eigenschaften mindestens ungefähr auch für andere Enthalten sind. Die <Em-Periode<>/em> (Länge einer beliebigen Reihe generierter Werte, bevor sie sich wiederholt) beträgt mindestens 2<sup>64</sup>.
<Die li-Methode>#split
erstellt und gibt eine neue SplittableRandom-instance zurück, die keinen veränderlichen Zustand mit dem aktuellen instance teilt. Mit sehr hoher Wahrscheinlichkeit verfügen die von den beiden Objekten gemeinsam generierten Werte jedoch über dieselben statistischen Eigenschaften, als ob dieselbe Menge von Werten von einem einzelnen Thread mit einem einzelnen SplittableRandom
Objekt generiert würde.
<li-Instanzen>von SplittableRandom sind <em>not</em> threadsicher. Sie sind so konzipiert, dass sie über Threads verteilt und nicht freigegeben werden. Beispielsweise kann eine java.util.concurrent.ForkJoinTask fork/join-style
Berechnung mit Zufallszahlen eine Konstruktion der Form new Subtask(aSplittableRandom.split()).fork()
enthalten.
<li>Diese Klasse stellt zusätzliche Methoden zum Generieren zufälliger Datenströme bereit, die die oben genannten Techniken verwenden, wenn sie im stream.parallel()
Modus verwendet werden.
</ul>
Instanzen von SplittableRandom
sind kryptografisch nicht sicher. Erwägen Sie stattdessen die Verwendung java.security.SecureRandom
in sicherheitsrelevanten Anwendungen. Darüber hinaus verwenden standardmäßig konstruierte Instanzen keinen kryptografisch zufälligen Ausgangswert, es sei denn, die Systemeigenschaftjava.util.secureRandomSeed
System#getProperty ist auf true
festgelegt.
In Version 1.8 hinzugefügt.
Java-Dokumentation für java.util.SplittableRandom
.
Teile dieser Seite sind Änderungen, die auf Arbeiten basieren, die vom Android Open Source Project erstellt und freigegeben wurden und gemäß den In Attribution License beschriebenen Begriffen verwendet werden.
Konstruktoren
SplittableRandom() |
Erstellt eine neue SplittableRandom-instance, die wahrscheinlich Sequenzen von Werten generiert, die statistisch unabhängig von denen anderer Instanzen im aktuellen Programm sind, und kann in der Regel zwischen Programmaufrufen variieren. |
SplittableRandom(Int64) |
Erstellt eine neue SplittableRandom-instance unter Verwendung des angegebenen Ausgangswerts. |
Eigenschaften
Class |
Gibt die Laufzeitklasse dieses |
Handle |
Das Handle für die zugrunde liegende Android-instance. (Geerbt von Object) |
JniIdentityHashCode |
Ein Generator einheitlicher Pseudorandomwerte, die für die Verwendung in (neben anderen Kontexten) isolierten parallelen Berechnungen geeignet sind, die Teilvorgänge generieren können. (Geerbt von Object) |
JniPeerMembers |
Ein Generator einheitlicher Pseudorandomwerte, die für die Verwendung in (neben anderen Kontexten) isolierten parallelen Berechnungen geeignet sind, die Teilvorgänge generieren können. |
PeerReference |
Ein Generator einheitlicher Pseudorandomwerte, die für die Verwendung in (neben anderen Kontexten) isolierten parallelen Berechnungen geeignet sind, die Teilvorgänge generieren können. (Geerbt von Object) |
ThresholdClass |
Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. (Geerbt von Object) |
ThresholdType |
Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. (Geerbt von Object) |
Methoden
Clone() |
Erstellt und gibt eine Kopie dieses Objekts zurück. (Geerbt von Object) |
Dispose() |
Ein Generator einheitlicher Pseudorandomwerte, die für die Verwendung in (neben anderen Kontexten) isolierten parallelen Berechnungen geeignet sind, die Teilvorgänge generieren können. (Geerbt von Object) |
Dispose(Boolean) |
Ein Generator einheitlicher Pseudorandomwerte, die für die Verwendung in (neben anderen Kontexten) isolierten parallelen Berechnungen geeignet sind, die Teilvorgänge generieren können. (Geerbt von Object) |
Equals(Object) |
Gibt an, ob ein anderes Objekt "gleich" diesem objekt ist. (Geerbt von Object) |
GetHashCode() |
Gibt einen Hashcodewert für das Objekt zurück. (Geerbt von Object) |
JavaFinalize() |
Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection feststellt, dass keine Verweise mehr auf das Objekt vorhanden sind. (Geerbt von Object) |
NextBoolean() |
Gibt einen Pseudorandom-Wert |
NextBytes(Byte[]) |
Füllt ein vom Benutzer bereitgestelltes Bytearray mit generierten Pseudorandombytes. |
NextDouble() |
Gibt einen Pseudorandomwert |
NextDouble(Double) |
Gibt einen Pseudorandom-Wert |
NextDouble(Double, Double) |
Gibt einen Pseudorandomwert |
NextInt() |
Gibt einen Pseudorandom-Wert |
NextInt(Int32) |
Gibt einen Pseudorandomwert |
NextInt(Int32, Int32) |
Gibt einen Pseudorandomwert |
NextLong() |
Gibt einen Pseudorandom-Wert |
NextLong(Int64) |
Gibt einen Pseudorandomwert |
NextLong(Int64, Int64) |
Gibt einen Pseudorandomwert |
Notify() |
Aktiviert einen einzelnen Thread, der auf den Monitor dieses Objekts wartet. (Geerbt von Object) |
NotifyAll() |
Aktiviert alle Threads, die auf den Monitor dieses Objekts warten. (Geerbt von Object) |
SetHandle(IntPtr, JniHandleOwnership) |
Legt die Handle-Eigenschaft fest. (Geerbt von Object) |
Split() |
Erstellt und gibt eine neue SplittableRandom-instance zurück, die keinen veränderlichen Zustand mit diesem instance. |
ToArray<T>() |
Ein Generator einheitlicher Pseudorandomwerte, die für die Verwendung in (neben anderen Kontexten) isolierten parallelen Berechnungen geeignet sind, die Teilvorgänge generieren können. (Geerbt von Object) |
ToString() |
Gibt eine Zeichenfolgendarstellung des Objekts zurück. (Geerbt von Object) |
UnregisterFromRuntime() |
Ein Generator einheitlicher Pseudorandomwerte, die für die Verwendung in (neben anderen Kontexten) isolierten parallelen Berechnungen geeignet sind, die Teilvorgänge generieren können. (Geerbt von Object) |
Wait() |
Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert ist, in der Regel durch <>Benachrichtigung</em> oder <em>interrupted</em>. (Geerbt von Object) |
Wait(Int64) |
Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert ist, in der Regel durch>< Benachrichtigung</em> oder <em>interrupted</em>, oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
Wait(Int64, Int32) |
Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert ist, in der Regel durch>< Benachrichtigung</em> oder <em>interrupted</em>, oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
IJavaPeerable.Disposed() |
Ein Generator einheitlicher Pseudorandomwerte, die für die Verwendung in (neben anderen Kontexten) isolierten parallelen Berechnungen geeignet sind, die Teilvorgänge generieren können. (Geerbt von Object) |
IJavaPeerable.DisposeUnlessReferenced() |
Ein Generator einheitlicher Pseudorandomwerte, die für die Verwendung in (neben anderen Kontexten) isolierten parallelen Berechnungen geeignet sind, die Teilvorgänge generieren können. (Geerbt von Object) |
IJavaPeerable.Finalized() |
Ein Generator einheitlicher Pseudorandomwerte, die für die Verwendung in (neben anderen Kontexten) isolierten parallelen Berechnungen geeignet sind, die Teilvorgänge generieren können. (Geerbt von Object) |
IJavaPeerable.JniManagedPeerState |
Ein Generator einheitlicher Pseudorandomwerte, die für die Verwendung in (neben anderen Kontexten) isolierten parallelen Berechnungen geeignet sind, die Teilvorgänge generieren können. (Geerbt von Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Ein Generator einheitlicher Pseudorandomwerte, die für die Verwendung in (neben anderen Kontexten) isolierten parallelen Berechnungen geeignet sind, die Teilvorgänge generieren können. (Geerbt von Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Ein Generator einheitlicher Pseudorandomwerte, die für die Verwendung in (neben anderen Kontexten) isolierten parallelen Berechnungen geeignet sind, die Teilvorgänge generieren können. (Geerbt von Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Ein Generator einheitlicher Pseudorandomwerte, die für die Verwendung in (neben anderen Kontexten) isolierten parallelen Berechnungen geeignet sind, die Teilvorgänge generieren können. (Geerbt von Object) |
Erweiterungsmethoden
JavaCast<TResult>(IJavaObject) |
Führt eine Typkonvertierung mit Überprüfung der Android-Laufzeit aus. |
JavaCast<TResult>(IJavaObject) |
Ein Generator einheitlicher Pseudorandomwerte, die für die Verwendung in (neben anderen Kontexten) isolierten parallelen Berechnungen geeignet sind, die Teilvorgänge generieren können. |
GetJniTypeName(IJavaPeerable) |
Ein Generator einheitlicher Pseudorandomwerte, die für die Verwendung in (neben anderen Kontexten) isolierten parallelen Berechnungen geeignet sind, die Teilvorgänge generieren können. |