ThreadLocalRandom 类

定义

与当前线程隔离的随机数生成器(句号为 2<sup>64</sup>)。

[Android.Runtime.Register("java/util/concurrent/ThreadLocalRandom", DoNotGenerateAcw=true)]
public class ThreadLocalRandom : Java.Util.Random
[<Android.Runtime.Register("java/util/concurrent/ThreadLocalRandom", DoNotGenerateAcw=true)>]
type ThreadLocalRandom = class
    inherit Random
继承
ThreadLocalRandom
属性

注解

与当前线程隔离的随机数生成器(句号为 2<sup>64</sup>)。 与类使用的java.lang.Math全局java.util.Random生成器一样,使用内部生成的种子初始化,ThreadLocalRandom该种子可能未进行修改。 如果适用,在并发程序中使用 ThreadLocalRandom 而不是共享 Random 对象通常会遇到更少的开销和争用。 ThreadLocalRandom当多个任务(例如每个任务)ForkJoinTask在线程池中并行使用随机数时,使用特别合适。

此类的用法通常应采用以下形式: ThreadLocalRandom.current().nextX(...) (其中,等等IntXLong)。 当所有用法都采用此形式时,永远无法意外地跨多个线程共享。ThreadLocalRandom

此类还提供其他常用的有限随机生成方法。

实例 ThreadLocalRandom 不是加密安全的。 请考虑改用 java.security.SecureRandom 安全敏感型应用程序。 此外,默认构造的实例不使用加密随机种子,除非 System#getProperty 系统属性java.util.secureRandomSeed 设置为 true

已在 1.7 中添加。

适用于 . 的 java.util.concurrent.ThreadLocalRandomJava 文档

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

构造函数

名称 说明
ThreadLocalRandom(IntPtr, JniHandleOwnership)

创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。

属性

名称 说明
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 基础结构,不打算直接从代码使用。

ThresholdType

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

方法

名称 说明
Clone()

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

(继承自 Object)
Current()

返回当前线程 ThreadLocalRandom 的对象。

Dispose()

与当前线程隔离的随机数生成器(句号为 2<sup>64</sup>)。

(继承自 Object)
Dispose(Boolean)

与当前线程隔离的随机数生成器(句号为 2<sup>64</sup>)。

(继承自 Object)
Equals(Object)

指示其他对象是否“等于”此对象。

(继承自 Object)
GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
JavaFinalize()

当垃圾回收确定不再引用该对象时,由对象上的垃圾回收器调用。

(继承自 Object)
Next(Int32)

生成下一个伪随机数。

(继承自 Random)
NextBoolean()

返回此随机数生成器序列中的下一个伪随机分布 boolean 值。

(继承自 Random)
NextBytes(Byte[])

生成随机字节并将其放入用户提供的字节数组中。

(继承自 Random)
NextDouble()

返回下一个伪随机值,在此随机数生成器的序列之间0.01.0从中统一分布double的值。

(继承自 Random)
NextDouble(Double, Double)

要添加

NextDouble(Double)

要添加

NextFloat()

返回下一个伪随机值,在此随机数生成器的序列之间0.01.0从中统一分布float的值。

(继承自 Random)
NextFloat(Single, Single)

要添加

NextFloat(Single)

要添加

NextGaussian()

返回下一个伪随机数,高斯(“正常”)分布 double 值,其平均值 0.0 和标准偏差 1.0 与此随机数生成器的序列。

(继承自 Random)
NextInt()

返回此随机数生成器序列中的下一个伪随机分布 int 值。

(继承自 Random)
NextInt(Int32, Int32)

要添加

NextInt(Int32)

返回从此随机数生成器序列中绘制的伪随机值(非独占)与指定值(独占)之间的一个伪随机分布 int 值。

(继承自 Random)
NextLong()

返回此随机数生成器序列中的下一个伪随机分布 long 值。

(继承自 Random)
NextLong(Int64, Int64)

要添加

NextLong(Int64)

要添加

Notify()

唤醒正在等待此对象的监视器的单个线程。

(继承自 Object)
NotifyAll()

唤醒正在等待此对象的监视器的所有线程。

(继承自 Object)
SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
SetSeed(Int64)

使用单个 long 种子设置此随机数生成器的种子。

(继承自 Random)
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端有效。

适用于