Forum: Programmieren allgemein
by Stevie,
25. Apr 2021
Auch eine TThreadList musst du explizit absichern, nämlich mit LockList, welche intern ein TMonitor.Enter ausführt, und sie wieder unlocken mit UnlockList.
Das sollte bei der Veränderung in einer parallel for eine ziemlich bescheidene Performance bewirken.
Ist unnötig für den geforderten Usecase - ein Iterator für ein Dictionary gibt die Key/Value Pairs, hier sind aber nur die Keys...
Forum: Programmieren allgemein
by Stevie,
24. Apr 2021
Ein TDictionary ist nicht thread-safe, also wird dir da nen parallel for nicht viel bringen.
Die Operation, die im ersten Post gefragt war, ist O(n) wobei n die Anzahl der Elemente in A ist, also nix wildes, wo man sich Sorgen machen müsste.
for var key in a.Keys do
b.Remove(key);