title: Is it better to poll or wait?
body: <p>I have seen a question on why "polling is bad".  In terms of minimizing the amount of processor time used by one thread, would it be better to do a spin wait (i.e. poll for a required change in a while loop) or wait on a kernel object (e.g. a kernel event object in windows)?</p>
  
  <p>For context, assume that the code would be required to run on any type of processor, single core, hyperthreaded, multicore, etc.  Also assume that a thread that would poll or wait can't continue until the polling result is satisfactory if it polled instead of waiting.  Finally, the time between when a thread starts waiting (or polling) and when the condition is satisfied can potentially vary from a very short time to a long time.</p>
  
  <p>Since the OS is likely to more efficiently "poll" in the case of "waiting", I don't want to see the "waiting just means someone else does the polling" argument, that's old news, and is not necessarily 100% accurate.</p>