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, longа double также аналогичные способы использования, как для класса java.util.Random , но отличаются следующими способами:

<Ул>

<li>Ряд созданных значений передает свойства независимости и единообразия набора DieHarder для генераторов случайных чисел. (Последнее проверено с версией 3.31.1.) Эти тесты проверяют только методы для определенных типов и диапазонов, но аналогичные свойства, как ожидается, будут храниться, по крайней мере приблизительно, для других. < >Период <em/em> (длина любого ряда созданных значений перед повторением) составляет 2<sup>64</sup>. </li>

<Li> Method #split создает и возвращает новый экземпляр SplittableRandom, который не использует изменяемое состояние с текущим экземпляром. Однако с очень высокой вероятностью значения, создаваемые двумя объектами, имеют одинаковые статистические свойства, как если бы одно и то же количество значений создавалось одним потоком с помощью одного SplittableRandom объекта. </li>

<li>Экземпляры SplittableRandom не<>< /em> thread-safe. Они предназначены для разделения, а не общего доступа между потоками. Например, вычисления, использующие случайные числа, java.util.concurrent.ForkJoinTask fork/join-style могут включать построение формы new Subtask(aSplittableRandom.split()).fork().

<li>Этот класс предоставляет дополнительные методы для создания случайных потоков, которые используют приведенные выше методы при использовании в stream.parallel() режиме.</li>

</ul>

Экземпляры SplittableRandom не защищены криптографически. Вместо этого следует использовать java.security.SecureRandom в приложениях с учетом безопасности. Кроме того, созданные по умолчанию экземпляры не используют криптографически случайное начальное значение, если не задано java.util.secureRandomSeedсистемное свойствоtrue System#getProperty.

Добавлено в версии 1.8.

Java документации по java.util.SplittableRandom.

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

Конструкторы

Имя Описание
SplittableRandom()

Создает новый экземпляр SplittableRandom, который, скорее всего, создает последовательности значений, которые статистически не зависят от других экземпляров в текущей программе; и может, как правило, различаться в зависимости от вызовов программы.

SplittableRandom(Int64)

Создает новый экземпляр SplittableRandom с помощью указанного начального начального начального значения.

Свойства

Имя Описание
Class

Возвращает класс среды выполнения этого Objectобъекта.

(Унаследовано от Object)
Handle

Дескриптор базового экземпляра Android.

(Унаследовано от Object)
JniIdentityHashCode

Возвращает хэш-код удостоверения, назначенный этому Java одноранговой среде выполнения взаимодействия.

(Унаследовано от Object)
JniManagedPeerState

Генератор универсальных псевдорандомных значений (с периодом 2<sup 64>/sup<), применимым для использования в изолированных параллельных вычислениях (среди других контекстов), которые могут создавать подзадачи>.

(Унаследовано от JavaObject)
JniPeerMembers

Генератор универсальных псевдорандомных значений (с периодом 2<sup 64>/sup<), применимым для использования в изолированных параллельных вычислениях (среди других контекстов), которые могут создавать подзадачи>.

PeerReference

Возвращает ссылку на объект JNI для этого Java однорангового узла.

(Унаследовано от Object)
ThresholdClass

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

(Унаследовано от Object)
ThresholdType

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

(Унаследовано от Object)

Методы

Имя Описание
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)

Возвращает псевдорандомное double значение от 0.

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> или <эм>прерванного</em>.

(Унаследовано от Object)
Wait(Int64, Int32)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)
Wait(Int64)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)

Явные реализации интерфейса

Имя Описание
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<), применимым для использования в изолированных параллельных вычислениях (среди других контекстов), которые могут создавать подзадачи>.

Методы расширения

Имя Описание
GetJniTypeName(IJavaPeerable)

Возвращает имя JNI типа экземпляра self.

JavaAs<TResult>(IJavaPeerable)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверяемого средой выполнения Android.

JavaCast<TResult>(IJavaObject)

Генератор универсальных псевдорандомных значений (с периодом 2<sup 64>/sup<), применимым для использования в изолированных параллельных вычислениях (среди других контекстов), которые могут создавать подзадачи>.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

Применяется к