long start = System.nanoTime (); // 1
//whatever operations // 2
long elapsed = System.nanoTime () - start; // 3
语句 1 和 3 是否有可能混在一起,以致我们无法精确测量时间?
--------------感谢所有反馈,让我们将代码更改为:
long start = System. currentTimeMillis (); // 1
try { Thread.sleep (1000); } catch (Exception e) {} // 2
long elapsed = System. currentTimeMillis () - start; // 3
并将问题更改为:可以将 1 2 3 的执行重新排序为 1 3 2 吗?如果是这样,我们如何衡量 2 需要多长时间?