如果我有两个系统计时器分别在 10 秒和 20 秒触发事件,那么对事件函数的调用是多线程的吗?在下面的场景中,我有分别以 10 秒和 12 秒间隔触发事件的计时器。函数 'My10sEvent' 应该首先被调用。如果它是一个需要 8 秒运行的慢函数,它会阻塞另一个事件(tmr12s),还是第二个事件会在 12 秒时按时触发?
System.Timers.Timer tmr10s = new System.Timers.Timer(10000.0);
tmr10s.Enabled = true;
tmr10s.Elapsed += new ElapsedEventHandler(My10sEvent);
System.Timers.Timer tmr12s = new System.Timers.Timer(12000.0);
tmr12s.Enabled = true;
tmr12s.Elapsed += new ElapsedEventHandler(My12sEvent);
Thread.Sleep(System.Threading.Timeout.Infinite); //sleep indefinitely to let the above events fire