title: Threads vs. Async
body: <p>I have been reading up on the threaded model of programming versus the asynchronous model from this really good article. <a href="http://krondo.com/blog/?p=1209" rel="noreferrer">http://krondo.com/blog/?p=1209</a></p>
  
  <p>However, the article mentions the following points.</p>
  
  <ol>
  <li>An async program will simply outperform a sync program by switching between tasks whenever there is a I/O.</li>
  <li>Threads are managed by the operating system.</li>
  </ol>
  
  <p>I remember reading that threads are managed by the operating system by moving around TCBs between the Ready-Queue and the Waiting-Queue(amongst other queues). In this case, threads don't waste time on waiting either do they?</p>
  
  <p>In light of the above mentioned, what are the advantages of async programs over threaded programs?</p>