Threads vs. Async <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">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>