4 Answers. It's perfectly safe to do this. The reading thread will always read either true or false. There will be no tearing because a Boolean is just a single byte.
Are booleans thread safe C#?
No, not all of them are thread safe. Case one isn't actually completely thread safe, or better saying - it isn't thread safe at all. Even if operations with boolean are atomic, variable value can be stored in a cache, and so, as in multicore CPU each core has it's own cache, value can be potentially corrupted.
Is reading a variable thread safe?
No this operation is not inherently thread safe. Even though the variable is not currently being written to, previous writes to the variable may not yet be visible to all threads. This means two threads can read the same value and get different results creating a race condition.