Original Post
Hi all, I was looking into lock-free data structures recently, to try and implement a lock-free free list. However, every implementation I looked at needs to allocate a new node with operator new, which will cause a lock on the heap while it allocates - which kind of defies the point in having it lock-free surely? Does anyone know of an implementation of, or describe how I can write a lock-free free list where I can allocate X nodes up-front, and then use lock-free methods to add or remove these nodes from the list? Cheers, Steve