Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.306 Beiträge
Delphi 12 Athens
|
AW: TThreadedQueue vs ThreadedRingBuffer
3. Feb 2025, 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)
Ein Therapeut entspricht 1024 Gigapeut.
Geändert von himitsu ( 3. Feb 2025 um 18:41 Uhr)
|