Saltar al contenido
uencoder

Atomic Operation

Una operación atómica se ejecuta de forma indivisible, visible para los observadores concurrentes y sin posibilidad de interrupción, logrando una seguridad de concurrencia simple sin bloqueos.

Propósito

Un primitivo de concurrencia sin bloqueos, más ligero que los bloqueos, usado para implementar contadores y banderas.

Mecanismo

El hardware provee el primitivo CAS (comparar e intercambiar): una comparación e intercambio atómicos. Le siguen operaciones atómicas de incremento, decremento y bandera. El orden de memoria controla la visibilidad (acquire/release/seq_cst). Más barato que los bloqueos, pero solo apto para operaciones simples.

Casos de uso

  • Concurrencia sin bloqueos
  • Contadores
  • CAS

References