Sto usando lo PriorityBlockingQueue
con un campo prioritario. Nel mio test io uso System#currentTime()
per le priorità: le stesse priorità sono ottenute dal fatto che il computer è così veloce che i millisecondi sono uguali (o più come i millisecondi su un PC ha un margine di errore).Perché un PriorityQueue non si comporta come una coda?
Quando le priorità sono le stesse, la coda si comporta come se fosse una pila, il che sembra strano. Esiste un'alternativa per fare in modo che la coda agisca come se fosse una coda normale (cioè FIFO piuttosto che il comportamento LIFO) quando le priorità degli elementi sono le stesse?
Ho visto i documenti, ma mi aspettavo che ci fosse già una classe di utilità per fare una coda non una pila. Se metto la coda, dovrebbe andare sul retro e saltare la coda se ha una priorità più alta. – Ben
Perché? La maggior parte degli utenti usa un 'PriorityBlockingQueue' _ con priorità diverse ._ –
perché uno Stack non è una coda o è solo semantica? – Ben