我只是想知道是否有办法等待(秒)。我在java中测量内存,然后我调用垃圾收集,一段时间后我想再次测量内存。我想到了石英,但它太复杂了,我听说 thread.sleep 不准确..
谢谢
我只是想知道是否有办法等待(秒)。我在java中测量内存,然后我调用垃圾收集,一段时间后我想再次测量内存。我想到了石英,但它太复杂了,我听说 thread.sleep 不准确..
谢谢
见睡眠。
Thread.sleep
导致当前线程暂停执行一段指定的时间。这是使处理器时间可用于应用程序的其他线程或可能在计算机系统上运行的其他应用程序的有效方法。
如果你想要更准确的东西,你可以使用 nanoTime。
public static void sleepNanos (long nanoDuration) throws InterruptedException {
final long end = System.nanoTime() + nanoDuration;
long timeLeft = nanoDuration;
do {
if (timeLeft > SLEEP_PRECISION)
Thread.sleep (1);
else
if (timeLeft > SPIN_YIELD_PRECISION)
Thread.yield();
timeLeft = end - System.nanoTime();
} while (timeLeft > 0);
}