Atomic operations are all based on [LDREX and STREX](http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dht0008a/ch01s02s01.html) in ARM. There's no inherent memory atomicity like on x86.