在Java中,可以使用Thread.sleep()
方法來使當(dāng)前線程休眠一段時(shí)間。Thread.sleep()
方法接受一個(gè)以毫秒為單位的長整型參數(shù),表示線程要休眠的時(shí)間。
以下是Thread.sleep()
方法的幾種用法:
try {
Thread.sleep(1000); // 休眠1秒
} catch (InterruptedException e) {
e.printStackTrace();
}
TimeUnit
枚舉類指定休眠的時(shí)間單位:import java.util.concurrent.TimeUnit;
try {
TimeUnit.SECONDS.sleep(10); // 休眠10秒
} catch (InterruptedException e) {
e.printStackTrace();
}
Thread.sleep()
方法在循環(huán)中實(shí)現(xiàn)定時(shí)任務(wù):long startTime = System.currentTimeMillis();
long delay = 1000; // 1秒
while (true) {
// 執(zhí)行任務(wù)
long elapsedTime = System.currentTimeMillis() - startTime;
long remainingTime = delay - elapsedTime;
if (remainingTime <= 0) {
break; // 達(dá)到指定的休眠時(shí)間,結(jié)束循環(huán)
} else {
try {
Thread.sleep(remainingTime);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
需要注意的是,Thread.sleep()
方法可能會(huì)拋出InterruptedException
異常,因此在使用時(shí)需要進(jìn)行異常處理。