Насколько я вижу, единственный способ убедиться, что обработчики событий Elapsed
находятся в одном потоке, - установить свойство Timer SynchronizingObject
(обычно это элемент управления или что-то в форме, чтобы событие Elapsed обрабатывается в потоке пользовательского интерфейса). В противном случае событие обрабатывается в потоке потоков, что означает, что каждый раз он может быть одним и тем же потоком, но почти наверняка не будет.
См .: http://msdn.microsoft.com/en-us/library/system.timers.timer.elapsed.aspx
Порядок срабатывания обработчиков событий , вероятно , будет в том порядке, в котором вы их добавили, но это не гарантируется и может измениться в будущем. Если ваш дизайн зависит от событий, запускаемых в определенном порядке, вы должны изменить свой дизайн.