What's the difference between the atomic and nonatomic attributes

Fazer o queatomic enonatomic significa nas declarações de propriedade?

@property(nonatomic, retain) UITextField *userName;
@property(atomic, retain) UITextField *userName;
@property(retain) UITextField *userName;

Qual é a diferença operacional entre esses três?