Nonblocking multiprocessor/multithread algorithms in C++

Type : queue, stack, garbage collection, memory allocation, templates for atomic algorithms and types
References : Posted by joshscholar[AT]yahoo[DOT]com
Linked file : ATOMIC.H
Notes :
see linked file...
from : eigamx[AT]xhanmailx[DOT]net
comment : This code has a problem with operation exceeding 4G times. If you do more then 4G of Put and Get with the MPQueue, "AtomicUInt & Index(int i) { return data[i & (len-1)];} will cause BUG. Modular operation with length of 2^n is OK, but not for other numbers. My email does not have any "x" letters.

from : kujawa at cs dot ucf dot edu
comment : In MPCountStack::PopElement, what's to prevent another thread from deleting was.Value().ptr between assigning was and reading was.Value().ptr->next?