Ich möchte eine Verzögerung zwischen zwei Operationen setzen, ohne damit beschäftigt halten den FadenAsynchronous Thread.Sleep()
workA();
Thread.Sleep(1000);
workB();
Der Thread nach worka verlassen muss und WORKB ausführen (vielleicht in einem neuen Thread) nach einer gewissen Verzögerung.
Ich frage mich, ob es einige equevalent dieses Pseudo-Code möglich ist
workA();
Thread.BeginSleep(1000, workB); // callback
bearbeiten Mein Programm ist in .NET 2.0
bearbeiten 2: System.Timers.Timer.Elapsed Ereignis das Ereignis auslösen wird nach 1000 ms. Ich weiß nicht, ob der Timer-Thread für 1000 ms beschäftigt ist. (So dont ich Faden Wirtschaft gewinnen)
Verstehe nicht. Ihr Thread.Sleep() -Aufruf wird eine Verzögerung zwischen 2 Vorgängen setzen, ohne den Thread beschäftigt zu sein. Missverstehe ich was du willst? –
Ja, aber der Threadpool für diesen Zeitraum (1000 ms) wird 1 Thread weniger verfügbar haben. – albert
Sie könnten dafür "System.Threading.Timer" bevorzugen - nicht "System.Timers.Timer" und nein - es gibt kein "Timer-Thread" - die Wartezeit wird im Betriebssystemkernel gesteuert –