(um ... but don't ask me what that means for sure)
I'll take a hit on this.
It should be remembered that the compiler or the CPU itself can change the reading and writing order in memory if they do not interact with each other.
This is useful, for example, if you have code that possibly updates the structure:
if ( playerMoved ) {
playerPos.X += dx;
playerPos.Y += dy;
if ( playerPos.Z + dz > 0 ) {
playerPos.Z += dz;
}
else {
playerPos.Z = 0;
}
}
, , , , Z , X Y, .
- , . , , , . , , , .
, , , "done", , "" .
. , , Acquire, , , , . , , Release, , , , .
- , .., , . , ( ), ( ).
, /, , . , - , , , , , . , , (, ), , .
Acquire " , ". " ". .