# 并发随机数

> 原文： [https://docs.oracle.com/javase/tutorial/essential/concurrency/threadlocalrandom.html](https://docs.oracle.com/javase/tutorial/essential/concurrency/threadlocalrandom.html)

在 JDK 7 中， [`java.util.concurrent`](https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/package-summary.html) 包括一个便利类， [`ThreadLocalRandom`](https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadLocalRandom.html) ，用于期望使用来自多个线程或`ForkJoinTask`的随机数的应用程序。

对于并发访问，使用`ThreadLocalRandom`而不是`Math.random()`可以减少争用，并最终提高性能。

您需要做的就是调用`ThreadLocalRandom.current()`，然后调用其中一个方法来检索随机数。这是一个例子：

```
int r = ThreadLocalRandom.current() .nextInt(4, 77);

```