Differences in terminologies can make it difficult or impossible for shared data to be interpreted and utilized.
They are also appropriate in large enterprise, multi-tenant and shared data centre environments.
It is often used to protect shared data from race conditions.
For any kind of shared data it is therefore necessary to have some sort of local record identifiers.
Since the operations are atomic, the shared data are always kept in a valid state, no matter how other threads access it.
Readers read the sequence number before and after reading the shared data.
Add more locks, for other bits of shared data, and it becomes harder still.
Two floating point threads with lots of shared data?
This means that at any given time, different threads may see different values for the same shared data.
For this reason I am willing to engage in dialogue, but on the basis of shared data.