Earlier quoted context omitted.
I'm not quite sure what you mean, but synchronization without atomic operations is possible. An example of mutual exclusion, without any atomic operations, taken from the book " The art of multiprocessor programming "[1] is (paraphrased) as follows: Two threads, A and B, want to access some memory. Each thread has a flag. When thread A wants to access the shared memory: Set flag A Wait for flag B to become unset Acce…
That only works with coherent in order memory operations. Once you add the appropriate memory barriers, it looks a lot more "atomic".
Once you add the appropriate memory barriers, it looks a lot more "atomic"
Well, they force in order memory access. That doesn't look terribly "atomic" to me, but I understand your point.