延迟1毫秒不工作?

jul*_*iet -2 java

我正在尝试使用以下代码生成数字:

System.currentTimeMillis()
Run Code Online (Sandbox Code Playgroud)

我必须连续5次生成这些数字,这种情况发生得如此之快以至于它们是相同的(但我不希望它们与我们将它们用作唯一字段的一部分相同)

我认为我可以在生成每个生成之间延迟,这将阻止它们相同,使用:

TimeUnit.MILLISECONDS.sleep(1);
Run Code Online (Sandbox Code Playgroud)

但这仍然会产生相同的数字.如果我把它增加到60左右,它似乎只会生成一个新的.我想知道为什么会这样?谢谢

dje*_*lin 8

如果你想从当前时间开始生成5个不相同的数字 - 据所知,这是你唯一的要求 - 你可以使用

long t = System.currentTimeMillis();

long ts[] = { t, t+1, t+2, t+3, t+4 };
Run Code Online (Sandbox Code Playgroud)

Thread.sleep在这里很荒谬.用户(或任何人)不应该对现在可以计算的东西感到延迟.