It is necessary that the functions be performed in a linear sequence. But at different intervals.
Now i do so
delay((myDelegate)fun1, 2); delay((myDelegate)fun2, 5); delay((myDelegate)fun3, 8); delay((myDelegate)fun4, 10); delay((myDelegate)fun5, 15); delay((myDelegate)fun6, 20); private void delay(myDelegate fun, int time) { var _delayTimer = new System.Timers.Timer(); int minute_rnd = time; _delayTimer.Interval = minute_rnd * 1000; _delayTimer.AutoReset = false; _delayTimer.Elapsed += (s, args) => fun(); _delayTimer.Start(); } But this is a very clumsy implementation, as it sometimes sticks, and it works two consecutively and the sequence gets lost.
How can this be stably implemented?