Documentation

The Java™ Tutorials
Hide TOC
Concurrent Random Numbers并发随机数
Trail: Essential Java Classes
Lesson: Concurrency
Section: High Level Concurrency Objects

Concurrent Random Numbers并发随机数

In JDK 7, java.util.concurrent includes a convenience class, ThreadLocalRandom, for applications that expect to use random numbers from multiple threads or ForkJoinTasks.在JDK 7中,java.util.concurrent包含一个方便的类ThreadLocalRandom,用于希望使用来自多个线程或ForkJoinTask的随机数的应用程序。

For concurrent access, using ThreadLocalRandom instead of Math.random() results in less contention and, ultimately, better performance.对于并发访问,使用ThreadLocalRandom而不是Math.random()可以减少争用,并最终提高性能。

All you need to do is call ThreadLocalRandom.current(), then call one of its methods to retrieve a random number. 您只需调用ThreadLocalRandom.current(),然后调用它的一个方法来检索随机数。Here is one example:以下是一个例子:

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

Previous page: Atomic Variables
Next page: For Further Reading