问题描述
我想为许多Servlet请求生成一些随机数。
问题是如果我在每个servlet中使用一个新的Random对象,那么整体概率将不正确。
那么,为什么不使用全局随机
实例?
或者您可以使用 ThreadLocalRandom
是比较快的。这是一种全球性的,因为你不能真正创建它的一个实例。您可以通过调用 ThreadLocalRandom.current()
来获取实例。在Java 7中,它返回一个每个线程的实例。在Java 8中,它进一步优化,它总是会返回相同的单例。
I want to generate some random numbers for many Servlet requests.The problem is if i use a new Random object in each servlet, the overall probability will be incorrect.
E.g. with around 10000+ reqeusts, i expect all random value should be evenly distributed within the range.
So why not use a global Random
instance?
Or you can use ThreadLocalRandom
which is faster. And it is kind of global because you cannot really create an instance of it. You can get an instance by calling ThreadLocalRandom.current()
. In Java 7, it returns a per-thread instance. In Java 8, it is further optimized, it'll always return the same singleton.
这篇关于如何在许多请求中生成随机值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!