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 ...