【发布时间】:2020-05-08 00:22:11
【问题描述】:
目前正在运行负载测试,jmeter 同时触发每秒 300 个请求。我的应用程序需要生成不重复的随机数,但是有这么多请求它失败了。我不能将它存储在 set ot Map 中以防止重复,因为它需要更多的计算时间。
到目前为止我已经尝试过
System.currentTimeMillis();
System.nanoTime()
ThreadLocalRandom
所有这些实现在某些时候都提供了重复。
【问题讨论】:
-
在没有地图的情况下使用 nanoTime 生成不重复的唯一方法是同步源。
-
已经有几个关于非重复随机数的问题(有答案),例如Java generating non-repeating random numbers 你读过吗?如果你有,那么我认为他们不会帮助你。你能解释一下为什么吗?
-
@Abra 我已经尝试了一些。并发请求失败。如果我第一次运行 1000 请求它的工作。在第二批中,我尝试再次运行 1000 请求失败。
标签: java multithreading jmeter