我正在尝试使用以下代码生成数字:
System.currentTimeMillis()
Run Code Online (Sandbox Code Playgroud)
我必须连续5次生成这些数字,这种情况发生得如此之快以至于它们是相同的(但我不希望它们与我们将它们用作唯一字段的一部分相同)
我认为我可以在生成每个生成之间延迟,这将阻止它们相同,使用:
TimeUnit.MILLISECONDS.sleep(1);
Run Code Online (Sandbox Code Playgroud)
但这仍然会产生相同的数字.如果我把它增加到60左右,它似乎只会生成一个新的.我想知道为什么会这样?谢谢
如果你想从当前时间开始生成5个不相同的数字 - 据我所知,这是你唯一的要求 - 你可以使用
long t = System.currentTimeMillis();
long ts[] = { t, t+1, t+2, t+3, t+4 };
Run Code Online (Sandbox Code Playgroud)
Thread.sleep在这里很荒谬.用户(或任何人)不应该对现在可以计算的东西感到延迟.