タイムアウトなど、今から X 秒後に発生させる必要がある非定期的なイベントがあるとします。直観的には、System.Timers.Timer を作成し、その間隔を X*1000 に設定し、そのティックをイベントに接続して開始することは理にかなっています。これは繰り返されないイベントであり、一度だけ発生させたい場合は、タイマーが作動した後にタイマーを停止する必要があります。
ただし、タイマーが本質的に繰り返されるという事実は、これが実際にそれを行う最善の方法である場合、私には不信感を抱かせます。開始時間を保存し、タイマーを毎秒 (またはミリ秒) 刻むように設定し、刻々とシステムをポーリングして、必要な時間が経過した場合にのみターゲットイベントを手動で発生させる方が良い/より正確/安全でしょうか?
いずれかの方法が最適である場合、誰でも検討できます(おそらく、私も考えていなかった別のオプションがあります)。待機する必要があるタイムスパンがミリ秒単位で測定される場合、一方の方法が他方よりも優れていますか?