1000 秒ごとに (たとえば) タスクを実行したいと考えています。
だから私たちは持っています
timer.scheduleAtFixedRate(task, delay, interval);
ほとんどの場合、これで問題なく動作します。ただし、これは組み込みシステムであり、ユーザーはリアルタイム クロックを変更できます。タイマーを設定した後に過去の時刻に設定した場合、タイマーは元のリアルタイムの日付/時刻まで実行されないようです。したがって、3 日間戻した場合、タイマーは 3 日間実行されません :(
これは許容される動作ですか、それとも Java ライブラリの欠陥ですか? Oracle javadocs は、依存関係について、またはシステムクロックの基になる値については何も言及していないようです。
許容できる場合、この時計の変更をどのように見つけて、タイマーを再スケジュールしますか?