¿Cuál es la diferencia entre los atributos atómicos y no atómicos?

¿Qué significa atomicy qué nonatomicsignifica en las declaraciones de propiedad? @property(nonatomic, retain) UITextField *userName; @property(atomic, retain) UITextField *userName; @property(retain) UITextField *userName; ¿Cuál es la diferencia operativa entre estos