System.CurrentTimeMillis是否准确到ping服务器?

时间:2015-04-03 14:03:53

标签: java time ping

如果我理解正确,System.currentTimeMillis()会更快,System.nanoTime()会更准确。

如果我正在ping服务器,在最坏的情况下我希望服用...让我们走极端......一分钟,System.currentTimeMillis()在1-2毫秒内仍然准确吗?或者我应该使用System.nanoTime()

我正在ping服务器:

    long startTime = System.nanoTime();
    getResponseFromServer();
    long endTime = System.nanoTime();
    return endTime - startTime;

正如您所看到的,我目前正在使用System.nanoTime(),但我不确定是否应该使用System.currentTimeMillis()

System.currentTimeMillis vs System.nanoTime有很多有关此主题的重要信息,但没有详细说明System.currentTimeMillis()的准确性。

1 个答案:

答案 0 :(得分:2)

根据您的操作系统,currentTimeMillis()的分辨率最高可达15毫秒(Windows)。另一方面,nanoTime()的分辨率在Linux / Mac上约为1微秒,其延​​迟在几十纳秒之内。因此,当您说nanoTime()是"慢"时,请确保您了解该资格的实际规模。