Reading and writing of a single variable is atomic (language guarantee!), unless the variable is of type long or double.
I was reading
It's not atomic because it's a multiple-step operation at the machine code level. That is, longs and doubles are longer than the processor's word length.