今は6時だと言っていましたが、10時にTimer
予定しています。TimerTask
その後、System DateTimeは他のサービス(たとえばntp)によって9時に調整されます。私はまだTimerTask
10時に解雇されることを望んでいますが、そうではありません。Timer
それでも次の4時間待って、私の解雇を行いTimerTask
ます。この状況で私は何をすべきですか?
1 に答える
3
第一に、あなたの時計が4時間遅れている場合、あなたはすでにかなり厄介な混乱状態にあります。通常、時間の調整はミリ秒または秒でのみ行われます。マシンが非常に長い間オンラインになっていない場合は、場合によっては1〜2分です。1つのオプションは、タイマーを設定する前に、独自のNTP呼び出しを行って、時間が適度に正確であることを確認することです。
もう1つのオプションは、適度に定期的に呼び出されるタイマー(たとえば、1分ごとまたは5分ごとに1回)を作成することです。このタイマーは、時間をチェックし、オプションでアクションを実行します。効率は少し劣りますが、1分に1回程度の簡単なチェックを実行するために単一のスレッドをウェイクアップした場合の影響が、パフォーマンスに大きな影響を与えるとは思われません。タイマーを起動するのに必要な精度と、タイマーのパフォーマンスへの影響が少ないことに基づいて、チェックの規則性を調整する必要があります。
于 2011-08-20T07:44:11.667 に答える