Java毫秒精度

0 java

是否有一个Java API /建议使用而不是System.currentTimeMillis()来获取Windows上毫秒秒精度的当前时间 - 要求是两个后续调用,其中睡眠时间为1ms,应给出两个不同的时间 - 目前我需要明确睡眠15毫秒以获得不同的时间

Jim*_*ush 6

不要尝试使用时间来创建唯一值.使用数据库为记录生成唯一ID(我假设的键).使用自动递增字段或创建一个单独的表,其中包含一个记录,可以锁定并安全更新计数器.

虽然你可能会得到一个有效的解决方案,但依靠时间来防止资源冲突最终会赶上你.


Fab*_*eeg 5

从Java 1.5开始,您可以使用System.nanoTime()更高精度的微基准测试.由于固定时间基于可能会发生变化(参见方法的Javadoc),因此将它与其结合可能是有意义的System.currentTimeMillis(),例如

String time = System.currentTimeMillis() + "" + System.nanoTime();
Run Code Online (Sandbox Code Playgroud)