added single-producer, single-consumer lock-free queue implementation