毎日午前 12 時に 1 回実行する必要がある操作があります。条件チェック制約のマッチングを使用して同じことを実装しましたがDateTime.Now.Hour == someValue;
、while ループを 1 回の操作で n 回実行したくありません。スレッドをスリープ状態にしましたが、それでも解決策に満足していません。タイマーを試してみてもうまくいきません。それぞれの時間に特定のアクションを呼び出すイベントと結合されたクロックまたは時間と呼ばれる概念はありますか。どうか明らかにしてください。
質問する
44 次
1 に答える
1
いくつかのオプション:
- Windows NT の単純な EXE のスケジュールされたタスクは、機能と時間ロジックが分離されている多くのシナリオでジョブを実行します。
- タイマー付きの Windows サービスも別のオプションです。タイマーが機能しない理由がわかりません。サービスへの2つの入力が必要であることに注意してください.RunImmediatelyOnStartupとAbsoluteTimeOfNextRun..に基づいて、起動時の不一致の問題を回避できます。
- タイマー付きの通常の EXE も別のオプションです。
- スリープを伴う通常の EXE も別のオプションです。
要するに、タイマーは絶え間ないポーリングを回避するのに役立ちます..そしてスリープはあなたのポーリングを調整することを可能にします. CPU に影響を与える可能性がある非常識な while ループよりも優れています。
于 2014-05-21T04:01:59.490 に答える