Simple, fast, and practical non-blocking and blocking concurrent queue algorithms
Implementing Lock-Free Queues