Warum verwendet QMAP stattdessen SKIPLIST statt OB RB-TREE?
-
12-12-2019 - |
Frage
I-Wunder, warum realisiert QMAP über Skipleid-Datenstruktur und nicht RB-Tree? Es gibt sehr interessant, so Thread über Parallelitätsdatenstrukturen und Springlistenvorteile über RB-Tree, Vor- und Nachteile.Es ist in der Tat sehr ein Interessing-Dialog mit hilfreichen Links, aber QMAP ist kein Thread-Safe, es wird kein Mutex-Sperren für die Synchronisierung des Zugriffs aus der Box.Es erfordert Wrapper oder Unterklassen.
Für mich ist es nicht einfacher, "handgefertigte" übergipte Liste anstelle von RB-Tree, also ist dies auch nicht offensichtlich.
Gibt es eine Kill-Funktion im Kontext von nicht fadensicherem QT-Container?
tnx im voraus.
Lösung
Ich dachte einmal darüber nach, dass QMAP für Thread-Safe entwickelt ist und somit als ein Wörterbuch von Skip-Listen implementiert ist.Anscheinend scheint dies nicht der Grund zu sein.Es ist viel einfacher: "Weniger Code in der ausführbaren Datei und weniger Speicher pro Knoten". "
In der Tat wurde QMAP einmal als RB-Baum umgesetzt.