Я использую PriorityBlockingQueue
с полем приоритета. В своем тестировании я использую System#currentTime()
для приоритетов - одни и те же приоритеты получаются с таким быстродействующим компьютером, что миллисекунды одинаковы (или больше похоже на миллисекунды на ПК с погрешностью).Почему PriorityQueue не будет действовать как очередь?
Когда приоритеты одинаковы, очередь действует так, как если бы это был стек, который кажется странным. Есть ли альтернатива для того, чтобы очередь выполнялась так, как если бы она была нормальной (то есть FIFO, а не LIFO-поведением), когда приоритеты элементов одинаковы?
Видел документы, но ожидал, что уже будет класс утилиты для создания очереди, а не стека. Если я ставлю очередь, она должна перейти в обратную сторону и перепрыгнуть в очередь, если ее более высокий приоритет. – Ben
Почему? Большинство пользователей используют «PriorityBlockingQueue» с разными приоритетами. –
потому что стек не является очередью или это просто семантика? – Ben