Okay--I think you might know a bit more about what Java's doing under the hood here, but 
http://developer.android.com/reference/java/util/concurrent/atomic/package-summary.html
indicates that gets and sets behave as if the variables were volatile, and 
http://www.javamex.com/tutorials/synchronization_volatile.shtml
says that volatile is the equivalent of synchronizing on the variable itself during the get/set.