Is System.nanoTime() consistent across threads?
I want to count the time elapsed between two events in nanoseconds. To do that, I can use System.nanoTime() as mentioned here . The problem is that the two events are happening in different threads. Since nanoTime() doesn't return an absolute timestamp but instead can only be used to calculate time differences , I'd like to know if the values I get on the two different threads are consistent with the physical time elapsed between the two events. It's supposed to be , but due to buggy kernels or hardware, the answer can be no , at least in some environments. 来源: https://stackoverflow.com