An low latency, lock free, primitive bounded blocking queue backed by an int[].
This class mimics the interface of {@linkplain java.util.concurrent.BlockingQueue BlockingQueue},
however works with primitive ints rather than objects, so is unable to actually implement the
BlockingQueue.
This class takes advantage of the Unsafe.putOrderedObject, which allows us to create non-blocking code with
guaranteed writes.
These writes will not be re-orderd by instruction reordering. Under the covers it uses the faster store-store
barrier, rather than the the slower store-load barrier, which is used when doing a volatile write.
One of the trade off with this improved performance is we are limited to a single producer, single consumer.