Use player rank to set how often the same player is allowed to be looked up. Replace the ConcurrentLinkedDeque with a synchronized ArrayDeque which has a constant time size().
Use player rank to set how often the same player is allowed to be looked up. Replace the ConcurrentLinkedDeque with a synchronized ArrayDeque which has a constant time size().