If you use the SleepEx function, then it is possible for your thread to be notified, and it will return back to your program before the time period is up.
I refuse to tie my hands behind my back and hear somebody say "Bend Over, Boy, Because You Have It Coming To You". -- Linus Torvalds