Possible Duplicate:
Compare using Thread.Sleep and Timer for delayed execution
I am considering whether to use a System.Threading.Timer or Thread.Sleep in my ASP.NET Web Application. I looked for the differences of them. Period or the Sleep will be 100ms.
AFAIK if I use a Timer it will not block running thread, but Sleep will block running thread.
Since the interval is very small, would it be better to choose Thread.Sleep(150) ?
Edit: I tend to use it like a timer on not thread pool thread. I know Timers will be run on thread pool, but I don’t want to keep thread pool thread for such an operation
Thread.Sleep()has some uses for which it is vital. These are few and far between, and if you’re using any number higher than about1as the argument you almost certainly don’t have one.If it’s even possible for a timer to be used instead, then you definitely don’t have one. Don’t block a perfectly good thread when the alternative isn’t even difficult.
Do be careful of the case where a timer is triggered while the previous trigger is still running. Depending on the nature of the operation you will want to either: