Java 教程是为 JDK 8 编写的。本页中描述的示例和实践未利用在后续版本中引入的改进。
在 JDK 7 中,java.util.concurrent
包含一个便利类 ThreadLocalRandom
,用于期望使用来自多个线程或 ForkJoinTask
的随机数的应用程序。
对于并发访问,使用 ThreadLocalRandom
代替 Math.random()
可以减少争用,并最终提高性能。
你需要做的就是调用 ThreadLocalRandom.current()
,然后调用其中一个方法来获取随机数。这是一个例子:
int r = ThreadLocalRandom.current() .nextInt(4, 77);