java休眠到指定時間怎麼寫?

淘源码ym發表於2024-04-15

java休眠到指定時間怎麼寫?

在Java中,你可以使用 Thread.sleep()方法來讓當前執行緒休眠一段時間。但是,如果你想要讓執行緒休眠到特定的時間(比如某個特定的日期或時間),你需要自己計算需要休眠的時長。

以下是一個簡單的示例,它展示瞭如何計算從現在到指定時間的毫秒數,並使用 Thread.sleep()來休眠到這個時間:

java複製程式碼import java.time.LocalDateTime;import java.time.temporal.ChronoUnit;public class SleepUntilSpecificTime {public static void main(String[] args) {// 設定你想要休眠到的目標時間  LocalDateTime targetTime = LocalDateTime.of(2023, 10, 23, 12, 0); // 假設目標時間是2023年10月23日12點0分  // 計算從現在到目標時間的毫秒數  long millisUntilTargetTime = ChronoUnit.MILLIS.between(LocalDateTime.now(), targetTime);try {// 讓執行緒休眠指定的毫秒數  Thread.sleep(millisUntilTargetTime);System.out.println("目標時間到達!");} catch (InterruptedException e) {e.printStackTrace();}}}

注意,這個示例假設你的程式不會在休眠期間被其他因素(如作業系統排程、其他執行緒的執行等)干擾。此外, Thread.sleep()可能會因為各種原因(如作業系統的排程)而稍微超過你指定的時間。如果你需要更精確的控制,你可能需要使用更復雜的方法,比如使用Java的 ScheduledExecutorService

最後,要注意 Thread.sleep()會丟擲 InterruptedException,所以你需要在一個 try-catch塊中呼叫它,以便在休眠被中斷時能夠妥善處理。



來自 “ ITPUB部落格 ” ,連結:https://blog.itpub.net/70018408/viewspace-3012567/,如需轉載,請註明出處,否則將追究法律責任。

相關文章