&quot;Simple, Fast, and Practical Non-Blocking and Blocking Concurrent Queue Algorithmms&quot; (1996)
Maged M. Michael, Michael L. Scott<p><a href="https:&#x2F;&#x2F;www.cs.rochester.edu&#x2F;research&#x2F;synchronization&#x2F;pseudocode&#x2F;queues.html" rel="nofollow">https:&#x2F;&#x2F;www.cs.rochester.edu&#x2F;research&#x2F;synchronization&#x2F;pseudo...</a>
<a href="http:&#x2F;&#x2F;dl.acm.org&#x2F;citation.cfm?id=248106" rel="nofollow">http:&#x2F;&#x2F;dl.acm.org&#x2F;citation.cfm?id=248106</a>
<a href="https:&#x2F;&#x2F;www.research.ibm.com&#x2F;people&#x2F;m&#x2F;michael&#x2F;podc-1996.pdf" rel="nofollow">https:&#x2F;&#x2F;www.research.ibm.com&#x2F;people&#x2F;m&#x2F;michael&#x2F;podc-1996.pdf</a><p>also see the Concurrent Data Structures (CDS) library <a href="https:&#x2F;&#x2F;github.com&#x2F;khizmax&#x2F;libcds" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;khizmax&#x2F;libcds</a>