Concurrent priority list - Paralelle Prioritätsliste
-
Die Concurrent-priority-list ist eine kleine Datenstruktur die ich für meine Spiele entworfen habe.
Diese Datenstruktur basiert auf einem Wörterbuch (Dictionary) und einer Warteschlange (Queue). welche beide in Paraleller-Form (concurrent data-types) im Standard implementiert sind. Zusätzlich gibt es eine Fest Anzahl von Proiritäten.
Funktionsweise
Eine Aufgabe hat einen bestimmten Typ. Dieser Typ hat eine bestimmte Priorität. Wird nun eine Aufgabe in die Prioritätsliste hinzugefügt, wird es anhand der Priorität auf eine bestimmte Position gesetzt. Signalisiert ein anderer Thread, dass er eine Aufgabe abarbeiten möchte, so iteriert er durch die Prioritäten durch und nihmt sich die erste Aufgabe die er findet.
To-Do
- Der Aufgabentyp sowie die Aufgaben selbst, sollen noch frei-wählbar seine.
- Die Anzahl der möglichen Prioritäten soll selbst einstellbar sein und anhand der Anzahl muss sich eine Wahrscheinlichkeit selbst ergeben.
- Unit-Tests für alle Bereiche und Funktionen
Link zum Repo: https://github.com/Ritzga/concurrent-priority-list