Cómo usar ref y alter para transacciones coordinadas – Resuelto

En Clojure, ref y alter son herramientas esenciales para manejar cambios coordinados en estados compartidos. Aprende a utilizarlas en este artículo.

¿Qué es ref?

Un ref es una referencia mutable que permite transacciones coordinadas usando STM (Software Transactional Memory).

Ejemplo básico

Implementemos un sistema bancario simple:

(def cuenta (ref 100)) (dosync (alter cuenta + 50)) @cuenta ;; 150

Ventajas

Garantizan consistencia incluso en entornos concurrentes complejos.

Conclusión

Los ref son ideales para estados compartidos que requieren actualizaciones consistentes y seguras.