Non-blocking algorithm and mutual exclusion
<p>Wikipedia says that:</p>

<blockquote>
  <p>Non-blocking algorithm ensures that
  threads competing for a shared
  resource do not have their execution
  indefinitely postponed by mutual
  exclusion.</p>
</blockquote>

<p>How can one ensure that this is achieved when multiple threads need to access some critical section?</p>
