Commonly used random number generation methods in Java include the Random class and Math.random() method, but for multi-threaded programs, thread safety is very important. Therefore, in a multi-threaded environment, using the ThreadLocalRandom class for random number generation is a more appropriate choice.
ThreadLocalRandom is a new feature introduced in Java 7 that provides a thread-localized random number generator. In a multi-threaded environment, each thread will create its own ThreadLocalRandom instance, avoiding thread competition issues and thus improving the concurrency performance of the program.
It is very simple to use ThreadLocalRandom to generate random numbers. You only need to call the nextInt method it provides. This method has two overloaded versions:
In addition, ThreadLocalRandom provides other types of random number generation methods: nextLong, nextFloat and nextBoolean, etc. The use of these methods is similar to nextInt.
The following is a sample code that uses ThreadLocalRandom to generate random numbers:
import java.util.concurrent.ThreadLocalRandom; public class RandomDemo { public static void main(String[] args) { // 生成一个范围在0-99的随机整数 int randomNum = ThreadLocalRandom.current().nextInt(100); System.out.println("随机数是:" + randomNum); } }
We can see in the output that the random numbers are different each time the program is run. This also confirms the thread safety and reliability of ThreadLocalRandom's random number generator.
In short, in a Java multi-threaded environment, using ThreadLocalRandom is safer, more efficient, and more convenient than using the Random class. Therefore, when writing multi-threaded programs, you should give priority to using ThreadLocalRandom to generate random numbers.
The above is the detailed content of How to use ThreadLocalRandom function to generate random numbers in Java. For more information, please follow other related articles on the PHP Chinese website!