Cómo usar agents en Clojure – Resuelto

Los agents en Clojure son referencias que permiten realizar cambios de manera asíncrona. Son útiles cuando necesitamos modificar un valor en paralelo sin bloquear el hilo principal.

Crear un agent

Podemos crear un agent utilizando agent:

(def a-agent (agent 0))

Modificar el valor de un agent

Para modificar el valor de un agent, usamos send o send-off:

(send a-agent inc) ;; Incrementa el valor de a-agent