- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:指定時間になってもブレイクしない)
指定時間になってもブレイクしない
このQ&Aのポイント
- 指定した時間になってもブレイクしない現象に遭遇しています。時間比較においてミリ秒の桁で誤差があることが原因と考えられます。
- 問題のコードでは、指定した時間と現在の時間をミリ秒単位で比較していますが、時々誤差が生じてブレイクしない場合があります。
- ブレイクさせるためには、より正確な時間比較の方法を使用する必要があります。例えば、Javaの`Instant`クラスや`java.util.concurrent.TimeUnit`クラスを使用する方法があります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
条件を > if (Time <= System.currentTimeMillis()) { にすればOKです。 ですが、もっと根本的な問題として、空ループを回すのはムダにCPUを消費するので良くありません。 Thread.Sleep を使いましょう。 for ループの代わりに > Thread.Sleep(Time - System.currentTimeMillis()); で十分です。
お礼
回答ありがとうございます. 解決しました.有難うございました。