If I have two system timers firing events at 10 and 20s respectively, are the calls to the event functions multithreaded? In the scenario below, I have timers that fire even
From the System.Timers.Timer documentation:
The server-based Timer is designed for use with worker threads in a multithreaded environment. Server timers can move among threads to handle the raised Elapsed event, resulting in more accuracy than Windows timers in raising the event on time.
So yes, it is.
Futhermore, from the System.Timers.Timer.SynchronizingObject property documentation:
When SynchronizingObject is null, the method that handles the Elapsed event is called on a thread from the system-thread pool. For more information on system-thread pools, see ThreadPool.
So the events are raised on thread pool threads unless SynchronizingObject is set.