ThreadLocalRandom.current()
时间: 2023-11-09 08:03:37 浏览: 31
ThreadLocalRandom.current() 是 Java 中用于生成随机数的类,它是线程安全的,可以在多线程环境下使用。
它与普通的 Random 类相比,有以下优点:
1. 生成随机数的速度更快。
2. 生成的随机数更加均匀,不容易出现偏差。
3. 可以通过 setSeed 方法设置种子,从而生成可重复的随机数序列。
使用 ThreadLocalRandom.current() 生成随机数的示例代码如下:
```
int randomNum = ThreadLocalRandom.current().nextInt(1, 101);
```
这段代码将生成一个介于 1 和 100 之间的随机整数。
相关问题
ThreadLocalRandom.current()是干什么的
ThreadLocalRandom.current()返回当前线程的ThreadLocalRandom实例,可以用于生成线程本地的随机数。它比普通的Random实例更高效,因为它被设计为在多线程环境下使用,并且会根据线程本地性能进行优化。使用ThreadLocalRandom可以减少多线程竞争的发生,提高应用程序的性能。
ThreadLocalRandom
ThreadLocalRandom 是 Java 中的一个类,用于生成线程本地的随机数。它是 Java 1.7 版本引入的,用于解决多线程环境下使用 Random 类可能引发的竞争性问题。
与 Random 类不同,ThreadLocalRandom 使用线程本地的种子,每个线程都有自己独立的种子,不会出现竞争问题。因此,使用 ThreadLocalRandom 可以获得更好的性能和更好的随机数分布。
你可以通过 ThreadLocalRandom 类的静态方法来生成随机数,例如:
```java
int randomInt = ThreadLocalRandom.current().nextInt(10); // 生成一个0到9的随机整数
double randomDouble = ThreadLocalRandom.current().nextDouble(); // 生成一个0到1之间的随机浮点数
```
需要注意的是,ThreadLocalRandom 类提供了一系列的方法来生成不同类型的随机数,你可以根据需求选择适合的方法来使用。同时,每个线程只需要获取一次 ThreadLocalRandom 实例,然后可以多次调用其方法来生成随机数。