PriorityBlockingQueue
öncelikli bir alanla kullanıyorum. Testimde, öncelikler için System#currentTime()
kullanıyorum — bilgisayarla aynı öncelikleri, milisaniyelerin aynı olduğunu (veya bilgisayardaki milisaniyelerin bir hata payı gibi) o kadar çabuk elde ettiklerini elde ettim.Bir PriorityQueue neden bir Kuyruk gibi davranmıyor?
Öncelikleri aynı olduğunda, sıra bir yığın gibi davranır; bu garip görünüyor. Öğelerin öncelikleri aynı olduğunda, sıra normal bir sıra (yani, LIFO davranışından ziyade FIFO) gibi davranmasını sağlayan bir alternatif var mı?
Dokümanları görün, ancak bir yığın değil bir sıra oluşturmak için zaten bir yardımcı program sınıfı olması beklenir. Eğer sıraya koyarsam, arkaya gitmeli ve daha yüksek bir önceliğe sahipse kuyruğa atlamalıdır. – Ben
Neden? Kullanıcıların çoğu bir PriorityBlockingQueue öğesini farklı öncelikler ile kullanabilirler –
Yığın bir sıra olmadığı için mi yoksa sadece semantik mi? – Ben