I'm looking at using a System.Timers.Timer in a windows service. I would like to know how reliable and accurate they are. In particular:
- Are there any guarantees about how often they will run?
- What happens when the processor or memory are overloaded? Will the ElapsedEventArgs.SignalTime always be accurate under such circumstances?
- If a timer is run for a long time, what happens when corrections are made to the system time to take into account inaccuracies in the system clock?
Update: Thanks for the answers so far. I was hoping to get more specific answers to the three issues that I detailed in my original question.