Function SynchronizedCircularBuffer.dequeue
If you are using a semaphore to signal, you can call this once for each count of it and you can do that separately from this call (though they should be paired).
T dequeue();
If you are using an event, you should use [dequeueSeveral] instead to drain it.