📅  最后修改于: 2023-12-03 14:47:58.315000             🧑  作者: Mango
ThreadLocalRandom
类是在Java 7版本中引入的,它提供了一种线程本地的随机数生成器。它可以减少多线程并发访问共享随机数生成器的竞争,并且比Random
类的性能更好。
要使用ThreadLocalRandom
类,只需使用current()
方法获取当前线程的随机数生成器,然后调用其相关方法即可。
ThreadLocalRandom random = ThreadLocalRandom.current();
该类提供了一些基本的随机数生成方法,如nextInt()
,nextLong()
和nextDouble()
等。这些方法与JavaRandom
类中的方法类似。
int randomNumber = random.nextInt(100);
long randomLong = random.nextLong();
double randomDouble = random.nextDouble();
ThreadLocalRandom
类提供了一种高效的随机数生成器,因为将它放置在每个线程的本地变量中可以减少竞争,从而提高了性能。此外,该类使用一些与Java的随机数生成器类不同的方法来生成随机数,这也有助于提高性能。
由于ThreadLocalRandom
类将随机数生成器存储在每个线程的本地变量中,因此不需要进行同步或防止竞争。因此,它是线程安全的。
下面的示例演示了如何使用ThreadLocalRandom
类生成1-100之间的随机数。
ThreadLocalRandom random = ThreadLocalRandom.current();
int randomNumber = random.nextInt(1, 101);
System.out.println("Random number between 1-100: " + randomNumber);
ThreadLocalRandom
类提供了线程本地的随机数生成器。current()
方法获取当前线程的随机数生成器,然后调用其相关方法即可。Random
类。