Una operación atómica se completa de forma indivisible — ningún otro hilo ve un estado a medias; la visibilidad de memoria es si las escrituras de un hilo son vistas por otro; las barreras de memoria imponen el ordenamiento para que esas escrituras se vuelvan visibles. Los locks no son la única preocupación — el modelo de memoria lo es.
Atomicidad
Una operación atómica (p. ej. fetch_add, compare-and-swap) se ejecuta como un único paso indivisible, así que ninguna carrera la divide. El hardware y el lenguaje proporcionan atómicos para contadores y banderas sin un lock completo.
();
counter.incrementAndGet();
