Why is memory reclamation so important for lock-free algorithms?
The last time I had to write a lock-free algorithm (in this case, a multi-writer, multi-reader queue), the memory reclamation strategy was straightforward:Make 2 lock-free queues.  Pre-allocate all the memory into message-sized chunks, and post them to the "upwards" queue.  A writer would read/consume from the upwards queue, write into the received buffer, and then post the same buffer in the other queue.  Everything is passed by reference, so it is zero-copy.I guess I don't understand the reason for all the complexity.  Perhaps for more complicated algorithms than queues?