SplittableRandom 类

定义

适用于(在其他上下文中)使用的统一伪随机值的生成器(句号为 2<sup>64</sup>),这些并行计算可能会生成子任务。

[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)]
public sealed class SplittableRandom : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.Util.RandomGenerators.IRandomGenerator
[<Android.Runtime.Register("java/util/SplittableRandom", ApiSince=24, DoNotGenerateAcw=true)>]
type SplittableRandom = class
    inherit Object
[<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 类似的用法,但以以下方式不同:

<ul>

<li>系列生成的值通过随机数生成器的 DieHarder 套件测试独立性和统一性属性。 (最近使用 版本 3.31.1 进行验证。这些测试仅验证某些类型和范围的方法,但类似的属性至少会保留其他类型的方法。 <em>period</em>(在重复之前生成的任何一系列值的长度)为 2<sup>64</sup>。 </li>

<li> 方法 #split 构造并返回一个新的 SplittableRandom 实例,该实例与当前实例共享无可变状态。 但是,由于概率非常高,两个对象共同生成的值具有与单个线程使用单个 SplittableRandom 对象生成的相同数量的值的统计属性。 </li>

<splittableRandom 的 li>实例不是<<>/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.secureRandomSeed 设置为 true

已在 1.8 中添加。

Java文档java.util.SplittableRandom

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

构造函数

名称 说明
SplittableRandom()

创建一个新的 SplittableRandom 实例,该实例可能会生成一系列值,这些值在统计上独立于当前程序中的任何其他实例的序列;并且通常可能会因程序调用而异。

SplittableRandom(Int64)

使用指定的初始种子创建新的 SplittableRandom 实例。

属性

名称 说明
Class

返回此 Object的运行时类。

(继承自 Object)
Handle

基础 Android 实例的句柄。

(继承自 Object)
JniIdentityHashCode

适用于(在其他上下文中)使用的统一伪随机值的生成器(句号为 2<sup>64</sup>),这些并行计算可能会生成子任务。

(继承自 Object)
JniPeerMembers

适用于(在其他上下文中)使用的统一伪随机值的生成器(句号为 2<sup>64</sup>),这些并行计算可能会生成子任务。

PeerReference

适用于(在其他上下文中)使用的统一伪随机值的生成器(句号为 2<sup>64</sup>),这些并行计算可能会生成子任务。

(继承自 Object)
ThresholdClass

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

(继承自 Object)
ThresholdType

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

(继承自 Object)

方法

名称 说明
Clone()

创建并返回此对象的副本。

(继承自 Object)
Dispose()

适用于(在其他上下文中)使用的统一伪随机值的生成器(句号为 2<sup>64</sup>),这些并行计算可能会生成子任务。

(继承自 Object)
Dispose(Boolean)

适用于(在其他上下文中)使用的统一伪随机值的生成器(句号为 2<sup>64</sup>),这些并行计算可能会生成子任务。

(继承自 Object)
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)
Split()

构造并返回一个新的 SplittableRandom 实例,该实例在此实例中不共享可变状态。

ToArray<T>()

适用于(在其他上下文中)使用的统一伪随机值的生成器(句号为 2<sup>64</sup>),这些并行计算可能会生成子任务。

(继承自 Object)
ToString()

返回对象的字符串表示形式。

(继承自 Object)
UnregisterFromRuntime()

适用于(在其他上下文中)使用的统一伪随机值的生成器(句号为 2<sup>64</sup>),这些并行计算可能会生成子任务。

(继承自 Object)
Wait()

使当前线程等待,直到唤醒它,通常是通过 em 通知/em< 或 >em<interrupted>/em<。><>

(继承自 Object)
Wait(Int64, Int32)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。

(继承自 Object)
Wait(Int64)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。

(继承自 Object)

显式接口实现

名称 说明
IJavaPeerable.Disposed()

适用于(在其他上下文中)使用的统一伪随机值的生成器(句号为 2<sup>64</sup>),这些并行计算可能会生成子任务。

(继承自 Object)
IJavaPeerable.DisposeUnlessReferenced()

适用于(在其他上下文中)使用的统一伪随机值的生成器(句号为 2<sup>64</sup>),这些并行计算可能会生成子任务。

(继承自 Object)
IJavaPeerable.Finalized()

适用于(在其他上下文中)使用的统一伪随机值的生成器(句号为 2<sup>64</sup>),这些并行计算可能会生成子任务。

(继承自 Object)
IJavaPeerable.JniManagedPeerState

适用于(在其他上下文中)使用的统一伪随机值的生成器(句号为 2<sup>64</sup>),这些并行计算可能会生成子任务。

(继承自 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

适用于(在其他上下文中)使用的统一伪随机值的生成器(句号为 2<sup>64</sup>),这些并行计算可能会生成子任务。

(继承自 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

适用于(在其他上下文中)使用的统一伪随机值的生成器(句号为 2<sup>64</sup>),这些并行计算可能会生成子任务。

(继承自 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

适用于(在其他上下文中)使用的统一伪随机值的生成器(句号为 2<sup>64</sup>),这些并行计算可能会生成子任务。

(继承自 Object)

扩展方法

名称 说明
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端有效。

适用于