Lock-free queues of a shared memory environment are used to facilitate
communication within that environment. The lock-free queues can be used
for interprocess communication, as well as intraprocess communication.
The lock-free queues are structured to minimize the use of atomic
operations when performing operations on the queues, and to minimize the
number of enqueue/dequeue operations to be performed on the queues.