ja es war ziemlich doof ausgedrückt, per Language-Spec muss es natürlich nicht
Ich bezog mich dabei auf ein erfundenes Beispiel bei dem man zur Synchronisierung das Lesen und Schreiben synchronisiert hätte, mit volatile könnten wir uns das Synchronisieren beim Lesen sparen, da wir ja immer den aktuellsten Wert haben.
Ich ging dadevon aus, dass die Anwendung auf Grund irgendwelcher höheren Logik beim Lesen trotzdem locken muss, weil was weiß ich

Mir fällt gerade kein Beispiel ein, hatte es aber schon, dass ich so nur noch das Schreiben synchronisieren musste, damit mehrere Threads sich beim Schreiben nicht die Daten gegenseitig in einen inkonsistenten Zustand bringen, das Lesen ging dann schön ohne Locks.
Natürlich muss es per volatile Spec nicht.