Ich habe etwas Mühe, die Idee einer gleichzeitigen Warteschlange zu begreifen. Ich verstehe, eine Warteschlange ist ein FIFO oder First first serve, Datenstruktur.gleichzeitige Warteschlange - allgemeine Frage (Beschreibung und Verwendung)
Wenn wir nun den Nebenläufigkeitsteil hinzufügen, den ich als Thread-Sicherheit interpretiere (bitte lassen Sie mich wissen, wenn das falsch ist), werden die Dinge etwas unscharf. Unter Nebenläufigkeit verstehen wir die Art und Weise, in der verschiedene Threads der Warteschlange hinzugefügt oder aus der Warteschlange gelöscht (ein Element gewartet) werden können. Ist die Parallelität ein Gefühl der Ordnung für diese Operationen?
Ich würde eine allgemeine Beschreibung der Funktionalität einer gleichzeitigen Warteschlange sehr schätzen. Ein ähnlicher Beitrag here ist nicht so allgemein wie ich gehofft hatte.
Gibt es auch so etwas wie eine Warteschlange mit gleichzeitiger Priorität? Was wäre seine Verwendung?
Vielen Dank im Voraus, für kurze Erklärungen oder hilfreiche Links zu diesem Thema.
Das Erfassen einer Sperre zum Ändern einer threadsicheren Warteschlangenimplementierung fügt wenig Overhead hinzu, und alle BlockingQueue-Implementierungen innerhalb des java.util.concurrent-Pakets verwenden mindestens eine Sperre (einige verwenden zwei zum Setzen/Nehmen). Ohne Sperren sind Erzeuger/Verbraucher nicht in der Lage, blockierende Puts/Takes auszuführen und Bulk-Operationen (z. B. drainTo) können nicht atomar durchgeführt werden. – Adamski
Ich dachte, dass Java Lock-freie Warteschlangen verwendet: http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/ConcurrentLinkedQueue.html – Steve