voglio mettere un ritardo tra 2 operazioni senza tenendo occupato il filoasincrono Thread.Sleep()
workA();
Thread.Sleep(1000);
workB();
Il filo deve uscire dopo worka ed eseguire workB (magari in un nuovo thread) con un certo ritardo.
Mi chiedo se è possibile qualche equevalent di questo pseudocodice
workA();
Thread.BeginSleep(1000, workB); // callback
modificare Il mio programma è in NET 2.0
Edit 2: evento System.Timers.Timer.Elapsed alzerà l'evento dopo 1000 ms. Non so se il thread del timer sarà occupato per 1000 ms. (Così io non guadagno economia filo)
Non capisco. La tua chiamata Thread.Sleep() metterà un ritardo tra 2 operazioni senza tenere occupato il thread. Frainteso cosa vuoi? –
Sì, ma il Threadpool per questo periodo di tempo (1000 ms) avrà 1 thread in meno disponibile. – albert
Si potrebbe preferire 'System.Threading.Timer' per questo - non' System.Timers.Timer' e no - non c'è "thread del timer" - l'attesa è controllata nel kernel del sistema operativo –