Предположим, у меня есть неповторяющееся событие, которое должно быть вызвано через X секунд, например время ожидания. Интуитивно понятно, что имеет смысл создать System.Timers.Timer, установить его интервал в X * 1000, привязать его к событию и запустить его. Поскольку это неповторяющееся событие, и вы хотите, чтобы оно было поднято только один раз, вам придется остановить таймер после его срабатывания.
Однако тот факт, что таймеры по своей природе повторяются, вызывает у меня недоверие, если это действительно лучший способ сделать это. Было бы лучше / точнее / безопаснее сохранить начатое время, установить таймер на тик каждую секунду (или даже миллисекунду) и при тикании опрашивать систему на время и вручную вызывать целевое событие только по истечении необходимого времени? 1003 *
Может ли кто-нибудь взвесить, какой из методов лучше (возможно, есть и другой вариант, о котором я тоже не подумал). Становится ли один метод лучше другого, если промежуток времени, который мне нужно ждать, измеряется в миллисекундах?