Creates a locked queue with an initial capacity.
Removes all locked queue items.
Pop an item from the back, block if queue is empty.
Pop an item from the front, block if queue is empty.
Push an item to the back, block if queue is full.
Push an item to the front, block if queue is full.
Tries to pop an item from the back immediately.
Tries to pop an item from the front immediately.
Locked queue for inter-thread communication. Support multiple writers, multiple readers. Blocks threads either when empty or full. @nogc once in use.