3 回答

TA贡献1946条经验 获得超4个赞
实时时钟和System.nanTime()都基于相同的系统调用,因此也基于相同的时钟。
使用JavaRTS,所有基于时间的API(例如定时器、周期线程、截止日期监视等等)都是基于高分辨率定时器的。而且,结合实时优先级,它们可以确保在合适的时间执行适当的代码,以满足实时约束。相比之下,普通的JavaSEAPI只提供了几种能够处理高分辨率时间的方法,而不能保证在给定的时间执行。在代码中的各个点之间使用System.nanTime()来执行经过的时间测量应该始终是准确的。
这种方法只能用于测量经过的时间,而与系统或挂钟时间的任何其他概念无关。返回的值表示某个固定但任意时间的纳秒(可能在将来,因此值可能为负值)。这种方法提供纳秒精度,但不一定是纳秒精度。没有保证价值观变化的频率。持续时间超过292.3年的连续呼叫的差异(2) 63由于数值溢出,无法精确计算经过的时间。
添加回答
举报