Zitat:
Um den Datenzugriff zu schützen reicht es nicht nur den Schreibzugriff abzusichern, sondern auch den Lesezugriff!
Denn was soll denn zurückgeliefert werden, wenn während des Lesens von einem anderen Thread der Wert geändert wird? Die Hälfte vom alten und die Hälfte vom neuen Wert?
Das könnte 1-2 "Effekte" erklären.
Verstehe ich das richtig, dass in dem Beispiel "nur" der Codeabschnitt im Getter und Setter durch die CS gelockt wird und nicht das Feld "fMyValue"?
Wenn dein Beispiel "TMyClass" von TThread abgeleitet wäre, müsste man demnach auch klassenintern (besonders in TThread.Execute) darauf achten, dass man immer über die Property auf fMyValue zugreift und nie direkt. Richtig?