Earlier quoted context omitted.
>A volatile write operation prevents earlier memory operations on the thread from being reordered to occur after the volatile write. A volatile read operation prevents later memory operations on the thread from being reordered to occur before the volatile read Looks like release/acquire to me? A total ordering would be sequential consistency.
I think you are quoting from https://learn.microsoft.com/en-us/dotnet/api/system.threadin... "In C#, using the volatile modifier on a field guarantees that every access to that field is a volatile memory operation" This makes it sound like you are right and the volatile keyword has the same behaviour as the Volatile class which explicitly says it has acquire-release ordering. But that seems to contradict "The volatil…
This volatile keyword appears to only consider that specific memory location whereas the Volatile class seem to implement acquire-release.