title: What's the difference between: Asynchronous, Non-Blocking, Event-Base architectures?
body: <ol>
  <li><p>What's the difference between:</p>
  
  <ul>
  <li><strong>Asynchronous</strong>,</li>
  <li><strong>Non-Blocking</strong>, and</li>
  <li><strong>Event-base</strong> architectures?</li>
  </ul></li>
  <li><p>Can something be both <em>asynchronous</em> and <em>non-blocking</em> (and <em>event-based</em>)?</p></li>
  <li><p>What's most important in programming, to have something: asynchronous, non-blocking and/or event-base (or all 3)?</p></li>
  </ol>
  
  <p>If you could provide examples, that would be great.</p>
  
  <p>This question is being asked because I was reading this great <a href="https://stackoverflow.com/questions/2625493/asynchronous-vs-non-blocking">StackOverflow</a> article on a similar topic but it doesn't answer my questions above.</p>