Einzelnen Beitrag anzeigen

Schokohase
(Gast)

n/a Beiträge
 
#2

AW: BestPractices: Nutzung der AtomicIncrement/Decrement als threadsafe Getter / Rese

  Alt 28. Feb 2019, 12:10
Die Getter sind meistens völlig problemlos, und du kannst quasi alles machen, ohne dass du Probleme bekommst. (Ja es gibt Ausnahmen ...)

Beim Schreiben kommt die Wahrheit ans Licht:
Code:
FVariable := 10;

Thread A: LTempCopy := AtomicIncrement( FVariable, 0); // 10
Thread B: LTempCopy := AtomicIncrement( FVariable, 0); // 10

Thread A: AtomicDecrement( FVariable, -LTempCopy ); // 0
Thread B: AtomicDecrement( FVariable, -LTempCopy ); // -10
Wohl doch nicht so ...

Geändert von Schokohase (28. Feb 2019 um 12:12 Uhr)
  Mit Zitat antworten Zitat