3 ms·
/volatile the flag is only supported by MSVC as far as I'm aware. volatile the keyword was not written with the intent of being a memory barrier (edit: or atom
by MaulingMonkey 11y ago
/volatile the flag is only supported by MSVC as far as I'm aware.
volatile the keyword was not written with the intent of being a memory barrier (edit: or atomicity for that matter) in mind.
In practice, I've created unit tests to catch and fix issues on mobile (specifically iOS - ARM arch, under both GCC and later Clang compilers IIRC) with our "lock free" circular buffer.
It was indeed lock free. And also just plain broken in multi-core scenarios.