Message from C, C++ talks
"this is bool, how can it be not thread safe to set it in one thread and read from another. It can't be half-true, can it?"
That were my thoughts. I had no idea about instructions rearrangement and other more rare and complicated stuff.