Is there any implementation of blocking queue which guarantees fair take() operation if multiple consumers are removing element from the same queue. I checked LinkedBlocking
Fairness policy may be specified for SynchronousQueue:
a queue constructed with fairness set to true grants threads access in FIFO order