title: Asynchronous timer callback on Windows
body: <p>I am looking for a Windows replacement for the *nix <code>SIGALRM</code>. I have seen suggested (e.g. <a href="https://stackoverflow.com/questions/4511732/alarm-function-on-linux-and-windows-cant-find-a-equivalent-for-windows-c">here</a>) to use <code>timeSetEvent</code>, but that doesn't quite do the same. <code>SIGALRM</code> calls the callback function <em>on the same thread</em> as the rest of my (single threaded) program, where as, as far as I understand, <code>timeSetEvent</code> calls it on a <em>new</em> thread.</p>
  
  <p>Am I right about this distinction? If so, is there some way to achieve the *nix type behavior on Windows?</p>