title: What's the difference between event-driven and asynchronous? Between epoll and AIO?
body: <p>Event-driven and asynchronous are often used as synonyms. Are there any differences between the two?</p>
  
  <p>Also, what is the difference between <code>epoll</code> and <code>aio</code>? How do they fit together?</p>
  
  <p>Lastly, I've read many times that AIO in Linux is horribly broken. How exactly is it broken?</p>
  
  <p>Thanks.</p>