Ik denk dat je deze functionaliteit kunt bereiken door PriorityQeueue
(of PriorityBlockingQueue
te gebruiken, afhankelijk van je behoeften).
Deze wachtrijen verwerken taken op volgorde die afhankelijk zijn van Comparator. Hoewel deze comparator wordt doorgegeven aan de wachtrij wanneer deze wordt gemaakt, kunt u uw aangepaste comparator implementeren die een eigen logica heeft die kan bepalen of een specifieke taak een lagere of hogere prioriteit heeft.