actually, i've chosen sleep(1) to match 11:00:00 :)
you're right, it will waste lots of cpu cycles, but i've been playing with idletime a while ago, because 1 second was way to much to wait for that application. i found that on my cpu (it was an AMD K6-2 300) 0.1 second was the time, that doesn't hurt the cpu at all (select(undef, undef, undef, 0.1)).
since then i'm rather unconscionable using sleep ;)
I don't know about the Windows scheduler, but I've had Unix applications doing similar loops using usleep()'s of 100 ms. You can run 200 of those without any significant processor utilisation.