title: How does Asynchronous programming work in a single threaded programming model?
body: <p>I was going through the details of <code>node.js</code>and came to know that, It supports asynchronous programming though essentially it provides a single threaded model. </p>
  
  <p>How is asynchronous programming handled in such cases? Is it like runtime itself creates and manages threads, but the programmer cannot create threads explicitly? It would be great if someone could point me to some resources to learn about this.</p>