Java教程是针对JDK 8编写的。本页面中描述的示例和实践不利用后续版本中引入的改进,并且可能使用不再可用的技术。
有关Java SE 9及其后续版本中更新的语言功能的摘要,请参阅Java语言变更。
有关所有JDK版本的新功能、增强功能以及已删除或弃用选项的信息,请参阅JDK发行说明。
JDK 7中,java.util.concurrent
包中包含了一个方便的类ThreadLocalRandom
,用于从多个线程或ForkJoinTask
中获取随机数的应用程序。
对于并发访问,使用ThreadLocalRandom
而不是Math.random()
可以减少争用,从而提高性能。
你只需要调用ThreadLocalRandom.current()
,然后调用其中的一个方法来获取一个随机数。下面是一个例子:
int r = ThreadLocalRandom.current() .nextInt(4, 77);