Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.229 Beiträge
Delphi 12 Athens
|
AW: TThreadedQueue vs ThreadedRingBuffer
Gestern, 18:02
Queue = FIFO (first in, first out)
Stack = LIFO (last in, first out)
Also ja Queue gleich entsprechend RingBuffer ... praktisch das gleiche Verhalten, also es unterscheidet sich nur die interne Speicherverwaltung.
Und da die TThreaded-Komponenten ja selbst das Threadsichere handhaben, kann man da meistens direkt auf Add/Remove/Push/Pop/... zugreifen, weil sie intern sich selbst absichern (wenn diese Methoden direkt oben public erreichbar sind)
Als Ringbuffer oder verkettete Liste hat es halt den Vorteil, dass beim Reinschieben oder Rausholen nicht der gesamte Listeninhalt verschoben werden muß.
(beim Stack geht ist Beides immer am Listenende und somit verschieben sich die vorherrigen Einträge nicht)
$2B or not $2B
Geändert von himitsu (Gestern um 18:41 Uhr)
|