? Meist im Bereich der Computer- Scheduling gefunden, sammeln Priority Queues und Versand Aufgaben in der Reihenfolge ihres Eintreffens und Bedeutung . Ein Prioritäts-Warteschlange ist ein entscheidender Programmierung Struktur in einer Ressource -Management-System . Priority Queue Objekte werden in Java und C + + gebaut . Konzept
A " Warteschlange " ist eine Art von Liste, die das Prinzip der folgt " First In, First Out". Es ist leicht zu verstehen , wie es genau wie eine Gruppe von Menschen im Einklang steht funktioniert. Objekte aus der Liste in der gleichen Reihenfolge, wie sie in. In einer Prioritäts-Warteschlange gestellt wurden abgerufen werden, jedoch zählt ein Algorithmus die Objekte nach Priorität , und das Ranking bestimmt die Reihenfolge , in der sie abgerufen werden. . Für Objekte mit der gleichen Priorität , die Priorität Warteschlange wie eine normale Warteschlange verhält
Umsetzung
Um eine Priorität Warteschlange erfolgreich zu implementieren, muss ein Programmierer implementieren zwei Hauptfunktionen - - Zuweisen einer Priorität zu einem Element und Ziehen des Elements mit der höchsten Priorität . Das Einfügen und Entfernen von Daten aus einer Prioritätswarteschlange ist langsamer als das Einfügen und Löschen von Daten von einem normalen Warteschlange , wie ein Programm, durch den aktuellen Einträgen Filter muss und Aufrechterhaltung der Warteschlange entweder beim Einsetzen oder Entfernen .
Features
der Vorteil einer Prioritäts-Warteschlange über eine normale Warteschlange ist, dass einige Daten wichtiger ist als andere. A Prioritätswarteschlange sichergestellt, dass die wichtigsten Objekte zuerst abgefragt. Allerdings kann dies bedeuten, dass Objekte mit niedriger Priorität in der Warteschlange schmachten , nie entfernt werden. Dies gilt insbesondere, wenn die Priorität - Zuweisung Regelung hat zu viele verschiedene Prioritätsstufen .
Beispiele
Priority Queues für die Bearbeitung mehrere Aufgaben verwendet werden, wie die einzelnen Aufgaben einem Computer läuft. Der Computer oder Benutzer kann dann gelten numerischen Prioritäten für diese Aufgaben . Aufgaben mit hoher Priorität werden zuerst ausgeführt . Eine strenge Hierarchie Priorität kann nicht immer bestimmen, welche Aufgabe neben zugeordnet , so dass auch mit niedriger Priorität Aufgaben wird schließlich auch abschließen, wenn es immer höhere Priorität Aufgaben warten . Andere Zeiten, kann eine Aufgabe aus der Warteschlange entfernt werden , dann eine höhere Priorität zugewiesen und neu zugewiesen , wenn zu viel Zeit vergeht .