Verkettete Listen sind für Aufgaben mit mehreren Threads richtig genial. Man kann dort nämlich völlig ohne Locks auskommen. Windows stellt zum Beispiel Funktionen für einen Stack zur Verfügung, der mit beliebig vielen zugreifenden Threads immer konsistent bleibt. Queues lassen sich auch auf diese Weise implementieren, das ist allerdings ein bisschen komplizierter. Ich habe das auch mal gemacht, der Code ist allerdings ungetestet und komplett in Assembler. Falls es dich interessiert kann ich die
Unit hochladen.
Was spricht jetzt eigentlich gegen Arrays? Gut, du brauchst immer irgendein Lock, aber in den meisten Fällen ist das vernachlässigbar.