1. 3
  1.  

  2. 1

    I’m confused, because this doesn’t look lock-free to me. The swap update blocks, which means that threads need not make progress unless you arrange things right.

    Is the claim the weaker one that it’s possible to use these tools to write lock-free algorithms rather than that everything using them is lock-free, or have I just completely misunderstood something (it’s been years since I’ve done serious multi-threaded programming so this is quite likely)?