private static final long SLEEP_DELAY = 10000L; //十秒
final long baseMillis = System.currentTimeMillis()/*[Android]SystemClock.elapsedRealtime()*/; long next = baseMillis, delay = 0L; //精准定时 1
while (true) {
next += SLEEP_DELAY; //精准定时 2
//耗时操作
if ((delay = next - System.currentTimeMillis()/*[Android]SystemClock.elapsedRealtime()*/) > 0L) { //精准定时 3
//等待操作,Thread.sleep(delay) 或者 [Android]Handler.postDelay(runnable, delay)
}
}
[算法] Java 或 Android 的精准等待
最新推荐文章于 2025-07-04 15:03:43 发布